Python erreur: unhashable type: 'liste'

J'ai commencé à apprendre le Python il ya quelques semaines (avec aucune connaissance préalable de celle-ci, ni de la programmation).
Je veux créer une définition qui sera donnée du dictionnaire comme un argument de retour d'un tuple composé de deux listes, l'une où il y a uniquement des clés de dictionnaire, et d'autres où il y a seulement les valeurs de la donnée du dictionnaire.
Fondamentalement, le code ressemblera à ceci:

"""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})

Ce code a fonctionné parfaitement (c'est pas ma solution, quoique).
Mais que faire si je ne veux pas utiliser le .les touches() et .les valeurs de() méthodes?
Dans ce cas, j'ai essayé d'utiliser quelque chose comme cela, mais je me suis "unhashable type: "liste "" message d'erreur:

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})

Ce qui semble être le problème?

InformationsquelleAutor stgeorge | 2013-05-28