Python: 辞書を添え字付き配列に変換するにはどうすればいいですか? 質問する

Python: 辞書を添え字付き配列に変換するにはどうすればいいですか? 質問する

Python で辞書をリストに変換する方法は知っていますが、結果のリストの合計などを取得しようとすると、何らかの理由でエラーが発生します'dict_values' object is not subscriptable。また、リスト内のいくつかの項目のみを合計する予定です。

dict = {A:1, B:2, C:3, D:4}
arr = dict.values()
the_sum = sum(arr[1:3])

よく調べてみると、結果のリストが印刷されるときに、dict_values(......)削除できない出力が常に表示されることに気付きました。どうすればこれを回避できますか?

ベストアンサー1

python-3.X では、python-2.X で実行されていたようなオブジェクトdict.valuesは返されません。python-3.x では、セットのようなオブジェクトが返され、そのアイテムを格納するためにハッシュ テーブルが使用されますが、これはインデックス作成には適していません。この機能は、ほとんどの属性をサポートすることに加えて、メンバーシップ チェック (演算子を使用) などの操作に非常に最適化されています。listdict-valuesetin

リスト オブジェクトを取得する場合は、結果を関数に渡してリストに変換する必要がありますlist()

the_values = dict.values()
SUM = sum(list(the_values)[1:10])

おすすめ記事