1. ホーム
  2. パイソン

[解決済み】Pythonで辞書のキーをリストとして返すには?

2022-03-23 11:47:40

質問

Python 2.7 という辞書を取得することができました。 キー , または アイテム をリストとして使用します。

>>> newdict = {1:0, 2:0, 3:0}
>>> newdict.keys()
[1, 2, 3]

では、その中の Python >= 3.3 こんな感じです。

>>> newdict.keys()
dict_keys([1, 2, 3])

というわけで、リストを得るためにはこうする必要がある。

newlist = list()
for i in newdict.keys():
    newlist.append(i)

でリストを返す良い方法はないものでしょうか? Python 3 ?

解決方法は?

試す list(newdict.keys()) .

これは dict_keys オブジェクトをリストに変換します。

一方で、それが重要かどうか自問自答する必要があります。Pythonicなコードの書き方としては、ダックタイピングを想定して( アヒルのように見え、アヒルのように鳴くなら、それはアヒルである。 ). そのため dict_keys オブジェクトは、ほとんどの場合、リストのように動作します。例えば

for key in newdict.keys():
  print(key)

もちろん、挿入演算子は機能しないかもしれませんが、いずれにせよ、辞書のキーのリストではあまり意味がないのです。