我想测试一个字符串是否存在于 defaultdict 的任何列表值中。
例如:
from collections import defaultdict
animals = defaultdict(list)
animals['farm']=['cow', 'pig', 'chicken']
animals['house']=['cat', 'rat']
我想知道“牛”是否出现在动物体内的任何列表中。
'cow' in animals.values() #returns False
对于这样的情况,我想要一些会返回“True”的东西。是否有等同于:
'cow' in animals.values()
对于默认字典?
谢谢!
最佳答案
在这种情况下,defaultdict 与常规字典没有什么不同。您需要遍历字典中的值:
any('cow' in v for v in animals.values())
或更程序化:
def in_values(s, d):
"""Does `s` appear in any of the values in `d`?"""
for v in d.values():
if s in v:
return True
return False
in_values('cow', animals)
关于Python:测试一个值是否存在于 defaultdict 列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3667411/