2
對不起,如果這個問題已經回答過,但我似乎無法找到它。在Python字典中處理重複密鑰
我有熊貓據幀像這樣:
id | value1 | value2 | ... | valueN
1 | 321 | 44 | ... | 7766
2 | 5678 | 7638 | ... | 987423
2 | 0971 | 7638 | ... | 1
and so on...
我正確地加載它,我想要實現的是一個OrderedDict
如果需要的話,這將崩潰的雙重價值。對於上面的例子,
輸出詞典應該是:
{1: ['321', '44', ..., '7766'], 2:['5678,0971', '7638', ..., '987423,1']}
注意,字典的值是list
和列表的值是strings
。
到目前爲止我的代碼是:
od = collections.OrderedDict()
for k in df.id:
if k in od:
# This key, pre-exists in this dictionary, so we have to append values
# what should I do here?
else:
# new value inserted. proceed.
od[k] = unordered_dict.get(k)
什麼想法?
負載集合配鑰匙,附加變量的值。就像你說的。繼續寫作,你走在正確的軌道上。 – DejaVuSansMono
如果密鑰已存在於字典中,您應該使用'.extend()':'od [k] .extend(unordered_dict.get(k))將列表添加到現有的列表中。' – ozgur
@dejavusansmono我被困在這部分超過一個小時,這就是爲什麼我把它發佈在這裏:P – Mixalis