これが私のコードです:
{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 と互換性を持たせるにはどうすればよいでしょうか?
ベストアンサー1
Python 3では、dict.values()
(およびとともにdict.keys()
)dict.items()
はview
リストではなく を返します。ドキュメントを参照してください。ここしたがって、 への呼び出しをdict.values()
への呼び出しでlist
次のようにラップする必要があります。
v = list(d.values())
{names[i]:v[i] for i in range(len(names))}