content_ratings = {}
ratings = ['4+', '4+', '4+', '9+', '9+', '12+', '17+']
for c_rating in ratings:
# why is the variable c_rating checking the empty dictionary
if c_rating in content_ratings:
content_ratings[c_rating] += 1
else:
content_ratings[c_rating] = 1
print(content_ratings)
print('Final dictionary:')
print(content_ratings)
2条答案
按热度按时间pcww981p1#
@雅皮士,if用于验证评级是否已在上一个循环中添加到字典中。如果是,它将增加当前值。否则,它将基本上初始化为1。
unguejic2#
和eespejel说的一样,c_评级是一个变量,用来放置列表中的某个项目,从第一个项目到最后一个项目。然后使用c_ratings变量执行一些操作,比如测试c_ratings是否已经在字典内容中。如果已经存在,则将该分数增加1。else(如果之前的所有ifs和ELIF都不满足,则在字典中将该值设置为1)。这就是为什么当字典为空时,会运行else,因为当字典为空时,c_评级肯定不在字典中。