遍历字典集python基本搜索

2024-05-13 18:36:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我发生了一件很奇怪的事。我试图在一组字典中循环查找与字段键相关的具有特定值的所有项。采取以下措施:

ex_set是mysql系统的输出,我无法控制它。如果我必须使用python重新创建它,它将类似于:

dict_a [ 'field' ] = 'fruit'
dict_a [ 'value' ] = 'apple'
dict_b [ 'field' ] = 'fruit'
dict_b [ 'value' ] = 'berry'
ex_set = set()
ex_set.add (dict_a,dict_b)

最重要的是当我打印时它的外观。在

^{pr2}$

问题是,打印此命令并不能打印所有具有value=“fruit”的字典。在

有没有更好的方法来搜索字典?我正在搜索的集合在每个字典中有3个键/值组合,大约有30k个字典。这种方法在25%的时间内有效,我不明白为什么它只返回20%的匹配。在

谢谢你的帮助!在


Tags: 方法addfieldapple字典value系统mysql
1条回答
网友
1楼 · 发布于 2024-05-13 18:36:10

根据您的描述,您正在寻找类似于:

In [6]: ex_set = ({'fruit':'apple',
   ...:            'value':'fruit'},
   ...:           {'fruit':'fruit'},
   ...:           {'apple':'apple'})

In [7]: for d in ex_set:
   ...:     if 'fruit' in d.values():
   ...:         print(d)
   ...:         
{'fruit': 'apple', 'value': 'fruit'}
{'fruit': 'fruit'}

另外,除了您的示例不是有效的python之外,ex\u set当然不能是set,因为sets's不能包含{},因为它们是不可损坏的。我会考虑改名为更合适的名字:

^{pr2}$

相关问题 更多 >