Re: [問題] 找出dict中有相同value的key

作者: pingxx123 (皮)   2019-12-21 09:36:33
※ 引述《renshin (阿信)》之銘言:
: 請問要如何用dict中的value找key呢?
: 例如有個dict
: d = {'a':'100', 'b':'200', 'c':'200', 'd':'100', 'e':'150'}
: 想把帶有相同value的key集合起來成各自一個list
: 或者可能形成一個新的dict,如
: Newd = {'100':['a','d'], '150':'e', '200':['b','c']}
: 請問有大大可以教一下新手小嫩嗎?
: 謝謝
使用defaultdict()加串列append()
from collections import defaultdict
d = {'a':'100', 'b':'200', 'c':'200', 'd':'100', 'e':'150'}
Newd = defaultdict(list)
for key, value in d.items():
Newd[value].append(key)
print(d)
print(Newd)
Newd[value]因為defaultdict(list)的關係,可以看成是一個串列
如果是串列的話,就可以使用.append()來加入新成員
作者: renshin (阿信)   2019-12-24 10:13:00
感謝大大教學,之後再轉成dict就可以用了

Links booklink

Contact Us: admin [ a t ] ucptt.com