-1

以下が私たちのコードだとしましょう:

d = {"Happy":"Clam", "Sad":"Panda"}
for i in d:
    print(i)

now print(i) はキーのみを出力しますが、値を出力するように変更するにはどうすればよいでしょうか?

4

4 に答える 4

2
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
于 2013-01-13T03:55:12.853 に答える
1
d = {"Happy":"Clam", "Sad":"Panda"}
for i in d:
        print(i, d[i])

私に与えます:

('Sad', 'Panda')
('Happy', 'Clam')
于 2013-01-13T03:56:38.350 に答える
1

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 実装によって異なり、辞書の挿入と削除の履歴に依存します。

于 2013-01-13T04:02:14.607 に答える
0

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 ではすべてが辞書であるため、グーグルで検索する価値があります。

于 2013-01-13T09:14:57.100 に答える