字典值存储列表
示例构建了列表相同值的索引的字典键值对,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]}
本文介绍两种方法构建字典存储列表相同值的索引,一是使用dict.setdefault(),二是利用collections.defaultdict。通过实例演示如何将列表中相同元素的索引存储为字典的值。
3918

被折叠的 条评论
为什么被折叠?



