私は数週間前に Python の学習を始めました (Python やプログラミングに関する予備知識はありません)。指定されたディクショナリに対して引数として 2 つのリストで構成されるタプルを返す定義を作成したいと考えています。基本的に、コードは次のようになります。
"""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})
このコードは完全に機能しました (ただし、これは私の解決策ではありません)。しかし、 .keys()および.values()メソッドを使用したくない場合はどうすればよいでしょうか? その場合、次のようなものを使用してみましたが、「unhashable type: 'list'」というエラー メッセージが表示されました。
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})
問題に見えるのは?