2016-03-31 27 views
-3

yılında sözlükte temel maç için yaşıyorum şu dictedilemiyor piton

dict1 = {('Q6', 'pic'): 'yes'} 

olarak belirtilen Ben dict1 anahtar Q6,pic maç için çalışıyorum. Ben aşağıdaki kodu

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

print "*****" 

O sadece onun içinde virgülle bir dize oluştururken çıktı üretmesi

+0

Bu ne anlama geliyor? Bu özel anahtarla nasıl eşleşirim? – Nitesh

cevap

1

eşleşen değildir kullanıyorum. Aradığın anahtar bir tül. Bu deneyin:

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

Gördün mü? Anahtar eşleştirmeyi nasıl etkiler – Nitesh

+0

Virgül python, değerlerin tülün parçası olduğunu söyler. Kullandığınız virgül, dizenin sadece bir parçasıydı, çünkü alıntılardaydı. – Oisin

1

bak sonra en:

>>> type(('Q6', 'pic')) 
<type 'tuple'> 
>>> type('Q6,pic') 
<type 'str'> 
>>> ('Q6', 'pic') == 'Q6,pic' 
False 

anahtar değil dize nesne "Q6,pic""Q6" ve ilgili unsurlar gibi "pic" ve olan bir kayıt düzeni olduğunu.

Bu dizelerden bir tuple oluşturmalı ve yalnızca sözlüğünde var olup olmadığını kontrol etmelisiniz.