Pythonで辞書のキーを列挙しようとしたところ、次のようなエラーメッセージが出ました。
TypeError: ‘builtin_function_or_method’ object is not iterable
具体的には次のようなコードです。
d = {"a": 1, "b": 2}
for k in d.keys:
print(k)
for k in d.keys:
print(k)
辞書は次のように作ります。
d = {key: value, key: value, …}
キーと値を組にしてコロンでつなぎ、カンマで区切ります。
キーだけを取り出すにはkeys、値だけを取り出すにはvaluesを使います。
上のコードでは keys() とすべきところを key としていました。
d = {"a": 1, "b": 2}
for k in d.keys():
print(k)
for k in d.keys():
print(k)
原因は単に、初心者がやりがちなタイプミスでした。
コメント