首页 > 解决方案 > 更改字典中要设置的值列表

问题描述

我有一个具有多个值的字典:

reversed_dict = {a:[1,2,3,4,5],b:[1,4,5,6],c:[2,3,4,5,6].....]

我正在尝试将字典中的值类型更改为 {}

    reversed_dict = {a:{1,2,3,4,5},b:{1,4,5,6},c:{2,3,4,5,6}.....]

在python中有什么功能可以做到这一点吗?

这是我用于制作字典 reversed_dict 的代码:

d = dict(zip(k, v))
d2 ={k + '.' + str(i): v[i] for k, v in d.items() for i in range(len(v))}
reversed_dict = {}
for value in d2.values():
    if value not in reversed_dict.keys():
        reversed_dict[value] = []
        for key in d2.keys():
            if d2[key] == value:
                if key not in reversed_dict[value]: reversed_dict[value].append(key)
return reversed_dict

标签: pythondictionarytypes

解决方案


您可以尝试这样的事情(dictionary理解)

>>> {k: set(v) for k,v in reversed_dict.items()}
{'a': {1, 2, 3, 4, 5}, 'b': {1, 4, 5, 6}, 'c': {2, 3, 4, 5, 6} ...}

注意: Aset是一个无序的集合数据类型,它是iterablemutable并且没有duplicate元素


推荐阅读