我有一个像下面的代码一样的元组列表,标识符有多个值(标识符和值都可能重复),我想使用dict
作为键str
和{{1因为它的价值是合理的,但是怎么样?
set
我需要的是这样的:tuple_list = [
('id1', 123),
('id1', 123),
('id2', 123),
('id1', 456),
('id2', 456),
('id1', 789),
('id2', 789)
]
,...}`,我的代码是:
{ 'id1': {123, 456, 789}
答案 0 :(得分:1)
您可以使用setdefaultdict
:
map_data = {}
for id, val in tuple_list:
map_data.setdefault(id,set()).add(val)
答案 1 :(得分:1)
要使用包含dict
的{{1}},请执行此操作。
set
结果
from collections import defaultdict
tuple_list = [
('id1', 123),
('id1', 123),
('id2', 123),
('id1', 456),
('id2', 456),
('id1', 789),
('id2', 789)
]
map_data = defaultdict(set)
for id, val in tuple_list:
map_data[id].add(val)
print(map_data)