「object is not iterable」の原因

Pythonで辞書のキーを列挙しようとしたところ、次のようなエラーメッセージが出ました。

TypeError: ‘builtin_function_or_method’ object is not iterable

具体的には次のようなコードです。

d = {"a": 1, "b": 2}
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)

原因は単に、初心者がやりがちなタイプミスでした。

コメント

タイトルとURLをコピーしました