首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何访问列表中的字典键值?

如何访问列表中的字典键值?
EN

Stack Overflow用户
提问于 2011-06-29 22:01:57
回答 5查看 165K关注 0票数 44

假设我有以下列表:

代码语言:javascript
复制
list = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}, {'e': 5, 'f': 6}]

如何访问key的特定值,比如d

EN

回答 5

Stack Overflow用户

发布于 2011-06-29 22:04:01

先对列表进行索引,然后对字典进行索引。

代码语言:javascript
复制
print L[1]['d']
票数 42
EN

Stack Overflow用户

发布于 2011-06-29 22:12:09

首先,不要使用'list‘作为变量名。

如果您有具有唯一键的简单字典,则可以执行以下操作(请注意,将创建包含子字典中所有条目的新字典对象):

代码语言:javascript
复制
res  = {}
for line in listOfDicts:
   res.update(line)
res['d']
>>> 4

否则:

代码语言:javascript
复制
getValues = lambda key,inputData: [subVal[key] for subVal in inputData if key in subVal]
getValues('d', listOfDicts)
>>> [4]

或者非常基础的:

代码语言:javascript
复制
def get_value(listOfDicts, key):
    for subVal in listOfDicts:
        if key in subVal:
            return subVal[key]
票数 19
EN

Stack Overflow用户

发布于 2011-06-29 22:07:26

您还没有提供足够的上下文来提供准确的答案(例如,您希望如何在多个字典中处理相同的键?)

一个答案是迭代列表,并尝试获取'd‘

代码语言:javascript
复制
mylist = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}, {'e': 5, 'f': 6}]
myvalues = [i['d'] for i in mylist if 'd' in i]

另一个答案是直接访问字典(通过列表索引),尽管您必须知道密钥是否存在

代码语言:javascript
复制
mylist[1]['d']
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6521892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档