簡體   English   中英

如何避免覆蓋字典追加?

[英]How to avoid overwrite for dictionary append?

例如,我有:

dic={'a': 1, 'b': 2, 'c': 3}

現在,我想再添加一個'c':4到字典中。 它將覆蓋現有的'c':3

我如何獲得dic像:

dic={'a': 1, 'b': 2, 'c': 3, 'c':4}

字典鍵必須唯一。 但是您可以將列表作為值,以便可以在其中存儲多個值。 這可以通過使用collections.defaultdict來實現,如下所示。 (示例從IPython會話復制。)

In [1]: from collections import defaultdict

In [2]: d = defaultdict(list)

In [3]: d['a'].append(1)

In [4]: d['b'].append(2)

In [5]: d['c'].append(3)

In [6]: d['c'].append(4)

In [7]: d
Out[7]: defaultdict(list, {'a': [1], 'b': [2], 'c': [3, 4]})

單個字典中不能有重復的鍵-嘗試查找內容時會期望什么行為? 但是,您可以將列表與鍵相關聯以存儲多個對象。 字典結構的微小變化將允許{'c' : [3, 4]} ,最終實現您要尋找的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM