本教程建议使用此解决方案opened_file = open('AppleStore.csv')from csv import readerread_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] = 1print(content_ratings) 输出是{'17+': 622, '4+': 4433, '9+': 987, '12+': 1155}我只是想了解代码逻辑。该行说if c_rating in content_ratings:应该返回False,因为它不符合条件,因为它content_rating本身是空的,所以c_rating不在字典中。这个逻辑如何找到内容评级并将其附加到字典中?
1 回答
弑天下
TA贡献1818条经验 获得超8个赞
if-else 语句中的两行看起来一样,但有细微差别,+
符号:
if c_rating in content_ratings: content_ratings[c_rating] += 1 else: content_ratings[c_rating] = 1
content_ratings[c_rating] = 1
这就是在 python 中将元素添加到字典中的方式。您也可以用同样的方式更新现有的元素字典;在这里content_ratings[c_rating] += 1
你得到现有的元素并增加它的价值。
所以,你是对的,当if c_rating in content_ratings:
returns时false
,它添加元素,否则,它更新它的值(增加计数)。
您可以在文档中查看字典的基本操作。
添加回答
举报
0/150
提交
取消