python - 更改字典中要设置的值列表
问题描述
我有一个具有多个值的字典:
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
解决方案
您可以尝试这样的事情(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
是一个无序的集合数据类型,它是iterable
,mutable
并且没有duplicate
元素
推荐阅读
- python - 使用python将格式添加到数据框并插入到excel中?
- python - 我发现了这个递归错误。我不知道问题出在哪里
- android - 我的聊天应用程序中的 java.lang.NullPointerException 错误
- linux - Yocto Dunfell 如何在全球范围内将编译器标志设置为“-Os”
- java - Spring Data REST findBy multiple Columns
- wordpress - 使用 Wordpress 后端进行 Flutter 社交登录
- json - 使用JQ获取JSON中某个键的所有值的数组
- python - 尝试在 Python 中调用变量值时出错
- c++ - 为什么我在以下代码中会出现堆栈溢出?
- c# - 从 XAML 到 C# 的 WPF 故事板