You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问列表中字典的value?获取并打印prodi字段报错求助

问题解决:访问列表中字典的prodi字段并打印

你的原始数据和代码如下:

list_out = [  
    {'name':'agus', 'prodi':'if'},  
    {'name':'budi', 'prodi':'ti'}, 
    {'name':'candra', 'prodi':'si'}, 
]

def sortku(list_):  
    if len(list_)<=1: 
        return list_  
    if len(list_)==2: 
        return list_ if list_[0]<list_[1] else [list_[1],list_[0]]  
    print(list_out) 

    x=list_["prodi"]  
    print(x)  

错误原因分析

  • 你直接对整个列表list_使用["prodi"]索引,但列表仅支持整数索引(如list_[0]),无法用字符串索引。要访问prodi字段,必须先获取列表中的单个字典元素,再对字典使用字符串索引。
  • 函数内的排序判断逻辑和你“打印prodi字段”的需求完全无关,属于冗余代码。
  • 函数直接打印全局变量list_out,但参数是list_,应优先使用传入的参数,避免依赖全局变量。

修正后的代码

如果仅需遍历列表并打印每个字典的prodi字段,函数可简化为:

def print_prodi(list_):
    for item in list_:
        # 遍历列表中的每个字典,取出prodi字段打印
        print(item["prodi"])

# 调用函数
print_prodi(list_out)

运行后输出:

if
ti
si

如果你的真实需求是按prodi字段排序后再打印,可使用以下代码:

def sort_and_print_prodi(list_):
    # 按prodi字段对列表排序
    sorted_list = sorted(list_, key=lambda x: x["prodi"])
    # 遍历排序后的列表,打印每个prodi
    for item in sorted_list:
        print(item["prodi"])

# 调用函数
sort_and_print_prodi(list_out)

运行后输出排序结果:

if
si
ti

内容的提问来源于stack exchange,提问作者BAGAS CAHYO P.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:20:31