以下が私たちのコードだとしましょう:
d = {"Happy":"Clam", "Sad":"Panda"}
for i in d:
print(i)
now print(i
) はキーのみを出力しますが、値を出力するように変更するにはどうすればよいでしょうか?
以下が私たちのコードだとしましょう:
d = {"Happy":"Clam", "Sad":"Panda"}
for i in d:
print(i)
now print(i
) はキーのみを出力しますが、値を出力するように変更するにはどうすればよいでしょうか?
d = {"Happy":"Clam", "Sad":"Panda"}
for i in d:
print(i, d[i]) # This will print the key, then the value
また
d = {"Happy":"Clam", "Sad":"Panda"}
for k,v in d.items(): # A method that lets you access the key and value
print(k,v) # k being the key, v being the value
d = {"Happy":"Clam", "Sad":"Panda"}
for i in d:
print(i, d[i])
私に与えます:
('Sad', 'Panda')
('Happy', 'Clam')
Python dictには、キー、値、またはその両方のリストを取得するために使用できるメソッドが多数あります。
あなたの質問に答えるためd.values()
に、値のみのリストを取得するために使用できます。
d = {"Happy":"Clam", "Sad":"Panda"}
for v in d.values():
print(v)
出力:
Clam
Panda
ただし、このitems()
方法は特に便利なので、言及する必要があります。
d = {"Happy":"Clam", "Sad":"Panda"}
for k, v in d.items():
print(k, v)
印刷されます:
Happy Clam
Sad Panda
ドキュメントからのアイテムの注文に関する警告:
CPython 実装の詳細:キーと値は任意の順序でリストされます。これはランダムではなく、Python 実装によって異なり、辞書の挿入と削除の履歴に依存します。
for each ループを使用する簡単な方法
for value in d.values:
print(value)
ジェネレーターを作ることもできます。ジェネレーターは、停止して再開できる反復可能なシーケンスです。
def generator(input):
for value in input.values():
yield value
gen = generator(d);
print(d.next()) // Clam
// Doing complex calculations
answer = 21 + 21
print(d.next()) // Panda
もう 1 つの方法は、高階関数「マップ」を使用することです。
map( print, d.values() )
// You can also use generators ;)
map( print, gen )
最後に、Python 3 の辞書で圧縮がサポートされるようになりました。辞書の圧縮は、各エントリの値の内容を印刷するのではなく、辞書を作成するのに適しています。Python ではすべてが辞書であるため、グーグルで検索する価値があります。