1
我有一個列表,並且該列表包含字典。列表中可能有重複的字典。計算字典列表中的唯一項目,python27
我想獲得列表中唯一字典的計數。
我試過使用collections.Counter,但我收到一個錯誤,指出項目(在我的列表中的字典)不可排列。
最終,我想返回一個僅包含唯一字典的列表,並且每個字典將包含一個新的具有-'cnt'的鍵/值對:。
有人可以幫忙嗎?
我有一個列表,並且該列表包含字典。列表中可能有重複的字典。計算字典列表中的唯一項目,python27
我想獲得列表中唯一字典的計數。
我試過使用collections.Counter,但我收到一個錯誤,指出項目(在我的列表中的字典)不可排列。
最終,我想返回一個僅包含唯一字典的列表,並且每個字典將包含一個新的具有-'cnt'的鍵/值對:。
有人可以幫忙嗎?
new_list = []
counts = []
for dict_ in your_list:
try:
i = new_list.index(dict_)
except ValueError:
counts.append(1)
new_list.append(dict_)
else:
counts[i] += 1
assert len(counts) == len(new_list)
for dict_, count in zip(new_list, counts):
dict_['cnt'] = count
del counts
感謝您的快速響應。這工作完美。這是我第一次使用'斷言' - 謝謝你介紹我。使用assert進行內聯調試和檢查假設證明是正確的看起來完全合乎邏輯。 – DonnRK
你在用什麼語言?它可以根據該更改 – MiltoxBeyond
您使用的是哪種語言?例如,python有一個只給出唯一列表成員(list_name.sort())的方法,但不同的語言有不同的內置方法/函數。 – Vadim
道歉...使用python27 – DonnRK