簡體   English   中英

Python如何從字典中獲取所有值相同的名稱鍵

[英]Python How can I get all values same name keys from dictionary

>>> dic = {'a': ['1a','2a','3a'],'b': ['1b','2b'], 'a' : ['4a','5a']}

它具有相同的鍵“ a”

我想從這個骰子中獲取所有值

但是當我使用

>>> dic.get('a')

它只返回

['4a','5a']

如何從中獲取所有“ a”鍵的值?

我曾考慮過使用重復性語句來檢查所有鍵,但是效率似乎很低

字典不能存儲重復的鍵。 一種解決方法是將列表或集合存儲在字典中。 我建議您將值存儲在指向相同鍵的集合中。

>>> from collections import defaultdict

>>> dic = defaultdict(list)

>>> dic['a'].extend(['1a','2a','3a'])
>>> dic['a'].extend(['4a','5a'])
>>> dic['b'].extend(['1b','2b'])

你說:

>>> dic = {'a': ['1a','2a','3a'],'b': ['1b','2b'], 'a' : ['4a','5a']}
It has same keys 'a'

不,它不是:

>>> dic = {'a': ['1a','2a','3a'],'b': ['1b','2b'], 'a' : ['4a','5a']}
>>> dic
{'a': ['4a', '5a'], 'b': ['1b', '2b']}

第一次出現的鍵'a'已經消失了,而第二次出現了相同的鍵則“消失”了。

我懷疑您是否將dic構建為這樣的dict文字(我認為這樣的文字應該引發異常,因為它絕對沒有道理,但是,a,它沒有)–您可以向我們展示實際的代碼嗎?而是為了構建該dict 然后我們可能會建議如何實際構建您想要的dict !-)

Python字典不支持重復鍵,請檢查此線程以尋求解決方案, 在python中使用重復鍵制作字典

暫無
暫無

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

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