本教程建議使用此解決方案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不在字典中。這個邏輯如何找到內(nèi)容評級并將其附加到字典中?
1 回答

弒天下
TA貢獻1818條經(jīng)驗 獲得超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 中將元素添加到字典中的方式。您也可以用同樣的方式更新現(xiàn)有的元素字典;在這里content_ratings[c_rating] += 1
你得到現(xiàn)有的元素并增加它的價值。
所以,你是對的,當if c_rating in content_ratings:
returns時false
,它添加元素,否則,它更新它的值(增加計數(shù))。
您可以在文檔中查看字典的基本操作。
添加回答
舉報
0/150
提交
取消