2016-03-31 7 views
-3

ich folgende dict alskann nicht in Python Schlüssel im Wörterbuch übereinstimmen

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

angegeben habe ich versuche Schlüssel Q6,pic im dict1 übereinstimmen. Ich verwende folgenden Code

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

print "*****" 

Es wird nicht ausgegeben

+0

Was bedeutet das? Wie man diesen bestimmten Schlüssel anpasst – Nitesh

Antwort

1

passender Sie sind nur einen String mit einem Komma in ihm zu schaffen. Der Schlüssel, den Sie suchen, ist ein Tulle. Versuchen Sie folgendes:

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

Ich sah dich gerade ',' in der Antwort geändert. Wie wirkt es sich auf die Schlüsselübereinstimmung aus? – Nitesh

+0

Das Komma sagt Python, dass die Werte Teil des Tulple sind. Das von Ihnen verwendete Komma war nur ein Teil der Zeichenfolge, da es in Anführungszeichen stand. – Oisin

1

Blick auf die folgenden:

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

Der Schlüssel ist ein Tupel, das "Q6" und "pic" als seine Elemente hat, und nicht das String-Objekt "Q6,pic".

Sie sollten ein Tupel aus diesen Zeichenfolgen erstellen und erst dann prüfen, ob es im Wörterbuch vorhanden ist.

Verwandte Themen