[英]Dictionaries and For Loops
說以下是我們的代碼:
d = {"Happy":"Clam", "Sad":"Panda"}
for i in d:
print(i)
現在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 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
另一種方法是使用高階函數“ map”。
map( print, d.values() )
// You can also use generators ;)
map( print, gen )
最后,在python 3中,字典現在支持壓縮。 字典壓縮對於創建字典非常有用,而對於打印每個條目的值的內容則不那么重要。 值得一試,因為python中的所有內容都是字典。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.