【python】字典值存储列表的两种方式

字典值存储列表

示例构建了列表相同值的索引的字典键值对,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]}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章