2024-04-25 17:40:15 发布
网友
我试着用一个命令而不是用两个搜索来检查字典的键和值中是否有某个值。一、 e
'b' in d.keys() 'b' in d.keys() or 'b' in d.values()
用这些术语在互联网上搜索只返回了关于如何只搜索关键字或值的说明。在
没有一个单一的函数可以做到这一点。您必须执行以下任一操作(无键()更快):
'b' in d or 'b' in d.values()
或者某种循环项目:
或者:
any(('b' in i) for i in d.items())
它也指出了一个糟糕的设计。字典对于键查找来说很酷,因为它们在这方面做得很快。如果您同时检查键和值,那么不管怎样,您只是在查看所有存储的项。(这表明你甚至不确定你在看哪一面)我建议检查一下sets和dicts的组合是否更适合你想做的事情。在
d.items()的问题是它返回一个以元组表示的键/值对列表,因此'b'将不在[('a', 'b')]中。在
d.items()
'b'
[('a', 'b')]
all_items = d.keys() + d.values() 'b' in all_items
没有一个单一的函数可以做到这一点。您必须执行以下任一操作(无键()更快):
或者某种循环项目:
^{pr2}$或者:
它也指出了一个糟糕的设计。字典对于键查找来说很酷,因为它们在这方面做得很快。如果您同时检查键和值,那么不管怎样,您只是在查看所有存储的项。(这表明你甚至不确定你在看哪一面)我建议检查一下sets和dicts的组合是否更适合你想做的事情。在
d.items()
的问题是它返回一个以元组表示的键/值对列表,因此'b'
将不在[('a', 'b')]
中。在相关问题 更多 >
编程相关推荐