我正在使用包含各種類型的犯罪的嵌套列表。爲了澄清,crimeDescription
被格式化爲: [['Murder'], ['Assault'], ... , ['Stalking'], ['Rape']]
。我正在創建一本字典,用於保存此列表中的每個價值/犯罪,並記錄其頻率或其出現頻率。由於字典內的鍵不能是列表,因此我試圖通過在for循環中調用其索引i [0]來訪問每個嵌套列表中的字符串。當我運行下面的程序:Python - 將嵌套列表轉換爲字典?
#TypesOfCrime --> a List containing all different types of crime that's happened in LA
TypesOfCrime = []
CrimeFreq = {}
for i in crimeDescription:
if i not in TypesOfCrime:
i = i[0]
CrimeFreq[i] = 1
elif i in TypesOfCrime:
i = i[0]
CrimeFreq[i] += 1
我得到以下錯誤:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-75-a8698e79e96a> in <module>()
5 if i not in TypesOfCrime:
6 TypesOfCrime.append(i)
----> 7 CrimeFreq[i[0]] = 1
8 elif i in TypesOfCrime:
9 CrimeFreq[i[0]] += 1
TypeError: 'float' object is not subscriptable
我在做什麼錯?我如何創建一個包含我的嵌套列表中的每個不同值的字典?任何建議都會有幫助。
嗯,有沒有什麼好的理由你有一個單元素列表的列表?此外,該錯誤消息與示例代碼不一致。請提供[mcve] –
@ juanpa.arrivillaga這就是我如何收到數據集。我很想用任何有用的方式改變內容,這就是我在if語句中試圖做的事情,但是得到這個TypeError ...有什麼想法? – user7366442
什麼是'crimeDescription',它只是一個描述每個'TypesOfCrime'的字符串? – davedwards