说下面是我们的代码:
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
另一种方法是使用高阶函数'map'。
map( print, d.values() )
// You can also use generators ;)
map( print, gen )
最后,python 3 中的字典现在支持压缩。字典压缩非常适合创建字典,而不是打印每个条目值的内容。这是值得谷歌搜索的东西,因为 python 中的所有内容都是字典。