[英]How to access/assert tuple key values in a python dictionary
如果两个连续的字符串在元组/三元组的字典键中,如何返回“ True”或“ False”?
d = {(1, 'a', 'b') : 2, (4, 'c', 'd'):5}
我需要一个像这样的表达式:
return 'a', 'b' in d.keys()
您可以使用嵌套的for循环来做到这一点:
def myFunc(myDict):
myKeys = list(myDict.keys())
for myList in myKeys:
myPreviousElement = None
for myElement in myList:
if myElement == myPreviousElement:
return True
myPreviousElement = myElement
return False
d = {(1, 'a', 'a') : 2, (4, 'c', 'd'):5}
print(myFunc(d)) # True
d = {(1, 'a', 'b') : 2, (4, 'c', 'd'):5}
print(myFunc(d)) # False
然后,您可以根据自己的喜好自定义返回值
您可以为字典中每个键的元素配对,然后检查这些对中的任何一个是否等于您想要的结果,例如:
d = {(1, 'a', 'b') : 2, (4, 'c', 'd'):5}
# Check for existence of any key matching criteria
any(pair == ('a', 'b') for key in d for pair in zip(key, key[1:]))
# True
# Filter out keys/values matching criteria
{k: v for k, v in d.items() if any(p == ('a', 'b') for p in zip(k, k[1:]))}
# {(1, 'a', 'b'): 2}
这似乎很好
for key in d:
return key[1] == string_1 and key[2] == string_2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.