【发布时间】:2018-08-29 21:02:54
【问题描述】:
如果我有一个任意长度的嵌套字典列表,看起来像这样:
list_of_dic = [{'A': 1, 'B': 2, 'C': {'name': 'some_name1', ...}},
{'A': 4, 'B': 1, 'C': {'name': 'some_name2', ...}},
{'A': 3, 'B': 4, 'C': {'name': 'some_name3', ...}},
...]
我想找到包含我想要的name 的嵌套字典(即与键C 关联的字典)(每个name 都是唯一的;没有重复项),什么是最有效的如何做到这一点?
我能想到两种方法;第一个是循环遍历所有内容,这听起来很糟糕,第二个是这样的:
[x['C'] for x in list_of_dic if x['C']['name'] == 'some_name5'][0]
有没有更好、更有效的方法来做到这一点,因为list_of_dic 有可能会很长。谢谢。
【问题讨论】:
-
我觉得不错。这是列表的单遍,但我不确定我是否理解
[0]索引。如果您只想要第一个结果,则使用for循环和break可能会更好。
标签: python dictionary search