Ich habe gerade mal wieder mit einer sehr seltsamen Fehlermeldung zu kämpfen, die ich mir nicht erklären kann:
Fehlermeldung: KeyError:('a','b')
Ist für mich sehr unlogisch.
Was passiert: Ich selektiere aus einer MySQL Datenbank daten. Eines der selektierten Attribute ist gleichzeitig Schlüssel in einem Dictionary. Je nachdem in welchen von ca 7. Dictionarys er enthalten ist, wird eine entsprechend eine Funktion aufgerufen. Das funktioniert auch.
Als nächstes will ich die in einem Tupel gespeicherten Values zu dem Schlüssel abrufen und bekomme den KeyError, der mir gleichzietig das Tupel anzeigt. 2 Gründe warum er den Schlüssel kennt und es den gbit: 1. wurde die richtige Funktion aufgrufen, 2. seh ich in der Fehlermeldung das korrekte, dem Schlüssel zugeordnete Wertepaar. Warum kommt dann diese Fehlermeldung?
Hier der Code:
Code: Alles auswählen
elif i_nr[0] in dict_T1:
x = T1(y, dict_T1[i_nr[0]],a,b,c)
# Hier der Anfang der Funktion T1:
def T1(y,key, a,b,c):
prin dict_T1
print dict_T1[key]
I_A1 = dict_T1[key][0]
....
EDIT: btw in der Shell funktioniert es. ALso wenn ich manuel key mit dem Schlüssel belege und dann die dict_T1[key] aufrufe.