字典值存储列表
示例构建了列表相同值的索引的字典键值对,0,1,2,3,4,6这些索引的值都是3,5索引值是1,分别作为字典的键和值
方法一、dict.setdefault(key, default=None)
- key -- 查找的键值。
- default -- 键不存在时,设置的默认键值。
如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值。
sample = [3, 3, 3, 3, 3, 1, 3]
dic = {}
for i,_id in enumerate(sample):
dic.setdefault(_id, []).append(i)
print(dic)
{3: [0, 1, 2, 3, 4, 6], 1: [5]}
方法二、from collections import defaultdict
from collections import defaultdict
sample = [3, 3, 3, 3, 3, 1, 3]
dic = defaultdict(list)
for i, _id in enumerate(sample):
dic[_id].append(i)
print(dic)
{3: [0, 1, 2, 3, 4, 6], 1: [5]}