1. ホーム
  2. python

[解決済み] Python:辞書を添え字可能な配列に変換する方法は?

2022-02-07 09:49:48

質問

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(......) を出力してしまい、削除できません。これを回避するにはどうしたらいいでしょうか?

解決方法は?

Python-3.Xの場合 dict.values を返さない。 list オブジェクトを返します。 dict-value このオブジェクトは集合のようなもので、項目の保存にハッシュテーブルを使用するため、インデックス作成には適していません。この機能は set 属性は、メンバーシップチェックのような操作に非常に最適化されています ( in 演算子)があります。

リストオブジェクトを取得したい場合は、その結果をリストに変換して list() 関数を使用します。

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