我的代碼是這個
idnt=[]
idntfrq=[]
for i in range(len(occ)):
idnt.append([])
idntfrq.append([])
for j in range(len(occ[i])):
for j2 in range(j,len(occ[i])):
for d in occ[i][j]:
idnt[i].append(d)
idntfrq[i].append([j])
occ[i][j].remove(d)
for d2 in occ[i][j2]:
if d==d2:
idntfrq[i][-1].append(j2)
occ[i][j2].remove(d)
串列串列是 occ(里面有 50 個串列,每個串列的長度不同)
想法是遍歷所有內容,將每個值存盤在 idnt[i] 串列 中,并將它出現在 idntfrq[i] 串列中的串列 的索引存盤,然后從當前迭代的串列中 洗掉元素,即 occ之后串列應該是空的,但不是,我上傳了 occ[0][0] 的 prntscr 看看我的意思
注意:串列中的每個串列僅包含每個元素一次,但我想計算 每個 occ[i] 內所有串列中的出現次數(對于 50 中的 i)并保持索引在此處輸入影像描述
uj5u.com熱心網友回復:
此代碼將執行您的要求:
mainList = [[1,2,3],[3,4,5],[1,5,9]]
d = {}
for l in mainList:
for item in l:
if item in d.keys():
d[item] =1
else:
d[item] = 1
print(d)
輸出:
{1: 2, 2: 1, 3: 2, 4: 1, 5: 2, 9: 1}
它在字典中給出答案,其中鍵是專案,值是出現次數。
此輸出并在需要時進一步格式化。
uj5u.com熱心網友回復:
我認為這有效:
from collections import Counter
list_of_lists = [[1, 2, 3], [4, 1, 2], [3, 4, 5]]
counter = Counter()
for _list in list_of_lists:
counter.update(_list)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/404981.html
標籤:
上一篇:添加串列作為字典值
下一篇:如何用資料框上的條件替換NaN
