Python dict.items()函数

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

为什么在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] += 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