2024-03-28 15:43:07 发布
网友
我有以下python字典:
d = {'1': 'one', '3': 'three', '2': 'two', '5': 'five', '4': 'four'}
我需要一种方法来找出像“一”或“二”这样的值是否存在于这本字典中。
例如,如果我想知道索引“1”是否存在,我只需键入:
"1" in d
然后python会告诉我这是真是假,但是我需要做同样的事情,除非找到一个值是否存在。
Python字典具有get(key)功能
>>> d.get(key)
例如
>>> d = {'1': 'one', '3': 'three', '2': 'two', '5': 'five', '4': 'four'} >>> d.get('3') 'three' >>> d.get('10') none
如果您的密钥不存在,将返回none值。
none
foo = d[key] # raise error if key doesn't exist foo = d.get(key) # return none if key doesn't exist
与低于3.0和高于5.0版本相关的内容。 .
你可以用
"one" in d.itervalues()
测试"one"是否在字典的值中。
"one"
>>> d = {'1': 'one', '3': 'three', '2': 'two', '5': 'five', '4': 'four'} >>> 'one' in d.values() True
出于好奇,一些比较时机:
>>> T(lambda : 'one' in d.itervalues()).repeat() [0.28107285499572754, 0.29107213020324707, 0.27941107749938965] >>> T(lambda : 'one' in d.values()).repeat() [0.38303399085998535, 0.37257885932922363, 0.37096405029296875] >>> T(lambda : 'one' in d.viewvalues()).repeat() [0.32004380226135254, 0.31716084480285645, 0.3171098232269287]
编辑:如果您想知道为什么。。。原因是以上每一项都返回不同类型的对象,这些对象可能非常适合查找操作,也可能不适合查找操作:
>>> type(d.viewvalues()) <type 'dict_values'> >>> type(d.values()) <type 'list'> >>> type(d.itervalues()) <type 'dictionary-valueiterator'>
编辑2:根据评论中的请求。。。
>>> T(lambda : 'four' in d.itervalues()).repeat() [0.41178202629089355, 0.3959040641784668, 0.3970959186553955] >>> T(lambda : 'four' in d.values()).repeat() [0.4631338119506836, 0.43541407585144043, 0.4359898567199707] >>> T(lambda : 'four' in d.viewvalues()).repeat() [0.43414998054504395, 0.4213531017303467, 0.41684913635253906]
Python字典具有get(key)功能
例如
如果您的密钥不存在,将返回
none
值。与低于3.0和高于5.0版本相关的内容。 .
你可以用
测试
"one"
是否在字典的值中。出于好奇,一些比较时机:
编辑:如果您想知道为什么。。。原因是以上每一项都返回不同类型的对象,这些对象可能非常适合查找操作,也可能不适合查找操作:
编辑2:根据评论中的请求。。。
相关问题 更多 >
编程相关推荐