Python dict.items()函数
为什么在for循环中需要Python dict.items()函数,python,Python,为什么在for循环中需要.items()? 我不知道什么是.items()函数,也不明白为什么需要它。.items()返回一个列表,其中元组对应于字典中的(键、值)对 这是你的小例子: gender_freq = {} for row in moma: gender = row[5] if gender not in gender_freq: gender_freq[gender] = 1 else: gender_freq[gender
.items()
?
我不知道什么是.items()
函数,也不明白为什么需要它。.items()
返回一个列表,其中元组对应于字典中的(键、值)对
这是你的小例子:
gender_freq = {}
for row in moma:
gender = row[5]
if gender not in gender_freq:
gender_freq[gender] = 1
else:
gender_freq[gender] += 1
for gender, num in gender_freq.items():
template = "There are {n:,} artworks by {g} artists"
print(template.format(g=gender, n=num))
example.items()
example = {
'female': 8,
'male': 4
}
当你这样做的时候:
[('female', 8), ('male', 4)]
性别将采用以下值:女性,男性
num将取这些值:8,4
使用items()
时,您正在并行地迭代字典中的项。items()
允许您在for循环中获取dict的键/值对,这将避免您在键上循环并每次请求值,如下所示:
for gender, num in example.items():
不过,还有一件事,使用defaultdict
这将允许您在每次要填充dict时避免检查密钥:
for gender in gender_freq:
print(template.format(g=gender, n=gender_freq[gender]))
您收到的错误消息是什么?gender\u freq是一个dict,
items
为您提供键和值,而不提供items
它将只提供键。如果您想迭代可以使用的值。values()这是否回答了您的问题?我建议使用Python文档作为参考。本节解释了作为的一部分的.items
。谢谢您的回答:)谢谢您的回答:)我很乐意为您提供帮助。这不是一个列表,除非您仍在使用Python 2.x:
from collections import defaultdict
gender_freq = defaultdict(int)
for row in moma:
gender = row[5]
gender_freq[gender] += 1