如何在python字典中访问/断言元组键值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python字典中访问/断言元组键值相关的知识,希望对你有一定的参考价值。

如果2个连续字符串在字典键中是元组/三元组,我怎么能返回“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

以上是关于如何在python字典中访问/断言元组键值的主要内容,如果未能解决你的问题,请参考以下文章

python里面词典作用是啥?

Python字典,作为不增加值的元组键

如何保存具有元组键的字典

使用元组键将 Pandas 数据框转换为字典以进行三元图

为什么将Python dict转换为元组会返回一组键?

使用元组键从Dictionary [key1,key2]获取第一个键的列表