我需要幫助如何刪除字典的元組中的重複項目。如何刪除字典的多個元組中的重複項?
dict of {tuple of (str, str, str, str): int}) -> tuple of (str, None)
這裏是字典:
{('ALPHA', 'BETA', 'GAMMA', 'DELTA'): 5
('BETA', 'GAMMA', 'ALPHA', 'DELTA'): 3
('DELTA', 'BETA', 'GAMMA', 'ALPHA'): 1
('GAMMA', 'DELTA', 'ALPHA', 'BETA'): 3
('BETA', 'ALPHA', 'DELTA', 'GAMMA'): 4}
和整數是tuple
這樣的第一指標,我通過得它們分組的值:
def rad_type(particle):
my_dict = {}
for (k, v) in particle.items():
if (k[0] in my_dict):
my_dict[k[0]] += v
else:
my_dict[k[0]] = v
return my_dict
該返回:
{'ALPHA': 5, 'BETA': 7, 'GAMMA': 3, 'DELTA': 1}
由於'DELTA'
具有在這種情況下爲1的最小值,但我想刪除這樣的元件:
{('ALPHA', 'BETA', 'GAMMA'): 5
('BETA', 'GAMMA', 'ALPHA'): 7
('BETA', 'GAMMA', 'ALPHA'): 1
('GAMMA', 'ALPHA', 'BETA'): 3}
這給出ALPHA = 5, BETA = 8, GAMMA = 3
;這是我真正需要的詞典。
我試圖刪除最少的元素,它不工作?
for (p, v) in my_dict.items():
if (max(my_dict.values())/sum(my_dict.values()):
if (v == min(my_dict.values())):
del my_dict[p]
return my_dict
但是這給ALPHA = 5, BETA = 7, GAMMA = 3
由於這回一本字典,我怎麼刪除重複的一個tuple
,然後返回作爲無字典進口什麼?
該問題類似於this。
的「回報」,在你的膏語句misindented:他們是裏面的「for」循環。 –
我的錯誤,複製並粘貼我的代碼時出現縮進錯字 – TheStruggler
您的第二個代碼塊無法運行,並且如果我修復了語法錯誤,則不會提供您說的答案。它也不清楚你如何得到每組結果,例如你爲什麼期望'BETA = 8'?字典中的值是否在變化?它們如何變化?請發佈我們可以運行的完整工作示例以及預期輸出。 – aquavitae