如何计算列的唯一值并将每个值附加到字典?

本教程建议使用此解决方案


opened_file = open('AppleStore.csv')

from csv import reader

read_file = reader(opened_file)

apps_data = list(read_file)

content_ratings = {}

for row in apps_data[1:]:

    c_rating = row[10] #the content rating that says which app is suitable for which age

    if c_rating in content_ratings:

        content_ratings[c_rating] += 1

    else:

        content_ratings[c_rating] = 1

print(content_ratings) 

输出是


{'17+': 622, '4+': 4433, '9+': 987, '12+': 1155}

我只是想了解代码逻辑。该行说if c_rating in content_ratings:应该返回False,因为它不符合条件,因为它content_rating本身是空的,所以c_rating不在字典中。这个逻辑如何找到内容评级并将其附加到字典中?


交互式爱情
浏览 79回答 1
1回答

弑天下

if-else 语句中的两行看起来一样,但有细微差别,+符号:if c_rating in content_ratings:     content_ratings[c_rating] += 1     else:     content_ratings[c_rating] = 1content_ratings[c_rating] = 1这就是在 python 中将元素添加到字典中的方式。您也可以用同样的方式更新现有的元素字典;在这里content_ratings[c_rating] += 1你得到现有的元素并增加它的价值。所以,你是对的,当if c_rating in content_ratings:returns时false,它添加元素,否则,它更新它的值(增加计数)。您可以在文档中查看字典的基本操作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python