Python-Fehler: unhashable type: 'list'

Habe ich angefangen zu lernen-Python-vor einigen Wochen (ohne Vorherige Kenntnisse oder Programmierung).
Ich möchte zu erstellen, eine definition, die für bestimmte dictionary als argument zurück, der ein Tupel aus zwei Listen - eine, wo es gibt nur Tasten für Wörterbuch, und den anderen, wo es nur Werte der jeweiligen Wörterbuch.
Im Grunde wird der code wie folgt Aussehen:

"""Iterate over the dictionary named letters, and populate the two lists so that 
keys contains all the keys of the dictionary, and values contains 
all the corresponding values of the dictionary. Return this as a tuple in the end."""

def run(dict):
    keys = []
    values = []
    for key in dict.keys():
        keys.append(key)
    for value in dict.values():
        values.append(value)
    return (keys, values)


print run({"a": 1, "b": 2, "c": 3, "d": 4})

Dieser code funktionierte perfekt (es ist nicht meine Lösung aber).
Aber was ist, wenn ich nicht wollen, verwenden Sie die .keys() und .Werte() Methoden?
In diesem Fall, ich habe versucht, über so etwas wie dieses, aber ich habe "unhashable type: 'list'" Fehlermeldung:

def run(dict):
    keys = []
    values = []
    for key in dict:
        keys.append(key)
        values.append(dict[keys])
    return (keys, values)


print run({"a": 1, "b": 2, "c": 3, "d": 4})

Was zu sein scheint das problem?

InformationsquelleAutor stgeorge | 2013-05-28
Schreibe einen Kommentar