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

如何获取Python列表中包含特定键的字典元素对应的值?

嘿,这个需求其实很好实现,我给你分享几种实用的方法,你可以根据自己的习惯选择:

方法一:列表推导式(最简洁高效)

这是Python处理这类场景的首选方式,一行代码就能搞定:

testlist = [{'p:Name':'ABC','p:Age':'14'}, {'Major':'Science','Job':'Scientist'}, {'p:Name':'XYZ','p:Age':'15'}]
age_values = [item['p:Age'] for item in testlist if 'p:Age' in item]
print(age_values)  # 输出结果: ['14', '15']

简单解释下:我们遍历testlist里的每一个字典元素,先判断当前字典是否包含p:Age这个键(用'p:Age' in item做检查),如果存在就取出对应的值,最后所有符合条件的值会自动组成一个新列表。

方法二:普通for循环(更易理解)

如果你是刚接触Python,想更清晰地看到每一步的执行过程,用传统的循环写法会更直观:

testlist = [{'p:Name':'ABC','p:Age':'14'}, {'Major':'Science','Job':'Scientist'}, {'p:Name':'XYZ','p:Age':'15'}]
age_values = []
for item in testlist:
    # 检查当前字典是否存在目标键
    if 'p:Age' in item:
        age_values.append(item['p:Age'])
print(age_values)  # 输出结果: ['14', '15']

思路很简单:先创建一个空列表用来存结果,然后逐个遍历原列表里的字典,每遇到包含p:Age的字典,就把对应的值添加到结果列表里,最后就能得到你想要的所有年龄值。

额外小提示:处理键不存在的容错情况

如果你的列表里可能有不确定是否包含目标键的字典,也可以用dict.get()方法来避免报错(不过这种情况需要过滤掉None值):

age_values = [item.get('p:Age') for item in testlist if item.get('p:Age') is not None]

不过其实第一种方法里的if 'p:Age' in item判断已经足够高效和直接,所以优先推荐前两种写法哦。

内容的提问来源于stack exchange,提问作者Memo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 22:17:40