1. ホーム
  2. python

[解決済み] 取得する TypeError: 'dict_values' object does not support indexing when using python 3.2.3 [duplicate] タイプエラー: 'dict_values' オブジェクトはインデックス作成をサポートしていません。

2022-06-22 02:39:47

質問

これは私のコードです。

{names[i]:d.values()[i] for i in range(len(names))}

Python 2.7.3では全く問題なく動作しますが、Python 3.2.3を使用すると、次のようなエラーが発生します。 'dict_values' object does not support indexing . 3.2.3用に互換性を持たせるには、どのようにコードを修正したらよいでしょうか。

どのように解決するのですか?

Python3では dict.values() (と共に dict.keys()dict.items() ) は view を返します。ドキュメントを参照してください。 ここで . したがって dict.values() への呼び出しを list のようにします。

v = list(d.values())
{names[i]:v[i] for i in range(len(names))}