无法在python中匹配字典中的键

无法在python中匹配字典中的键,python,python-2.x,Python,Python 2.x,我将以下内容指定为 dict1 = {('Q6', 'pic'): 'yes'} 我正在尝试匹配dict1中的键Q6,pic。我正在使用以下代码 dict1Index = 6 key = 'Q' + str(dict1Index) dictPicKey = key + "," + "pic" if dictPicKey in dict1 : print "*****" 它与输出不匹配您只是创建了一个包含逗号的字符串。你要找的钥匙是薄纱。试试这个: dict1Index = 6 key

我将以下内容指定为

dict1 = {('Q6', 'pic'): 'yes'}
我正在尝试匹配
dict1
中的键
Q6,pic
。我正在使用以下代码

dict1Index = 6
key = 'Q' + str(dict1Index)
dictPicKey = key + "," + "pic"
if dictPicKey in dict1 : 

print "*****"

它与输出不匹配

您只是创建了一个包含逗号的字符串。你要找的钥匙是薄纱。试试这个:

dict1Index = 6 
key = 'Q' + str(dict1Index)
dictPicKey = (key, "pic") 
if dictPicKey in dict1 : 
    print "*****"
请看以下内容:

>>> type(('Q6', 'pic'))
<type 'tuple'>
>>> type('Q6,pic')
<type 'str'>
>>> ('Q6', 'pic') == 'Q6,pic'
False
>>类型(('Q6','pic'))
>>>类型('Q6,pic')
>>>('Q6','pic')=='Q6,pic'
假的
键是一个元组,它的元素是
“Q6”
“pic”
,字符串对象
“Q6,pic”


您应该从这些字符串创建一个元组,然后才检查字典中是否存在该元组。

这是什么意思。如何匹配此特定键我看到您刚才在答案中更改了
。它如何影响键匹配逗号告诉python这些值是tulple的一部分。您使用的逗号只是字符串的一部分,因为它位于引号上。