[英]“'NoneType' object is not iterable” when the code works fine for others. How do I figure out what's wrong?
我正在遵循Python中的指導項目,並且我編寫的代碼似乎與解決方案一致,但是,當他們沒有時,我會收到錯誤。
我在網上看到可能需要一個return語句,但解決方案不使用一個,無論我在哪里放回,我總是得到一個錯誤。
"displayfreq"
是我在代碼中定義的代碼; 它產生一個排序的頻率表。
genres_ios = displayfreq(ios_free, -5)
for genre in genres_ios:
total = 0
len_genre = 0
for app in ios_free:
genre_app = app[-5]
if genre_app == genre:
tot_ratings = float(app[5])
total += tot_ratings
len_genre += 1
avg_tot_rating = total / len_genre
print(genre, 'with average total rating of', avg_tot_ratings)
我希望看到每種類型的平均評分數,但相反,我得到了,
“TypeError:'NoneType'對象不可迭代”
對於"for genre in genres_ios"
這一行
需要 return語句中displayfreq()
或者將返回None
。 因為genres_ios
是None
,所以你不能迭代它並且你得到錯誤。
如果它適用於其他計算機,則displayfreq()
可能不適用於您的計算機。
正如您指定的那樣,對於“genres_ios中的 類型: ”行, “TypeError:'NoneType'對象不可迭代 ”,這意味着變量genres_ios的值為None ,因此您會收到這樣的錯誤。
為此,您需要返回已排序頻率表的變量或表達式。
另請注意,在函數displayfreq中,您沒有操作ios_free變量,或者您將更改ios_free的值。 如果你想要ios_free的副本,請使用ios_free.copy() 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.