2024-05-16 18:54:03 发布
网友
我有下面的字典
{'u1': 0, 'u2': 0, 'u3': 1, 'u4': 2, 'u5': 2, 'u6': 3, 'u7': 4, 'u8': 4, 'u9': 3}
我想获得:
[['u1', 'u2'], ['u3'], ['u4', 'u5'], ['u6', 'u9'], ['u7', 'u8']]
您可以使用以下内容:
dictionary={'u1': 0, 'u2': 0, 'u3': 1, 'u4': 2, 'u5': 2, 'u6': 3, 'u7': 4, 'u8': 4, 'u9': 3} [[k,v] for k,v in dictionary.items()]
结果:
[['u1', 0], ['u2', 0], ['u3', 1], ['u4', 2], ['u5', 2], ['u6', 3], ['u7', 4], ['u8', 4], ['u9', 3]]
您可以使用^{}尝试此操作
d = {'u1': 0, 'u2': 0, 'u3': 1, 'u4': 2, 'u5': 2, 'u6': 3, 'u7': 4, 'u8': 4, 'u9': 3} new = dict() for k,v in d.items(): new.setdefault(v,[]).append(v) list(out.values()) # [['u1', 'u2'], ['u3'], ['u4', 'u5'], ['u6', 'u9'], ['u7', 'u8']]
或使用^{}
from collection import defaultdict new = defaultdict(list) for k,v in d.items(): new[v].append(k) list(new.values()) # [['u1', 'u2'], ['u3'], ['u4', 'u5'], ['u6', 'u9'], ['u7', 'u8']]
ini_dict = {'u1': 0, 'u2': 0, 'u3': 1, 'u4': 2, 'u5': 2, 'u6': 3, 'u7': 4, 'u8': 4, 'u9': 3} flipped = {} for key, value in ini_dict.items(): if value not in flipped: flipped[value] = [key] else: flipped[value].append(key)
输出将是
Result [['u1', 'u2'], ['u3'], ['u4', 'u5'], ['u6', 'u9'], ['u7', 'u8']]
简单地翻转这些值并创建一个新的字典,其中包含值和它们被迭代的键列表,就可以发挥神奇的作用。只需在反向字典中查找重复的值
您可以使用以下内容:
结果:
您可以使用^{} 尝试此操作
或使用^{}
输出将是
简单地翻转这些值并创建一个新的字典,其中包含值和它们被迭代的键列表,就可以发挥神奇的作用。只需在反向字典中查找重复的值
相关问题 更多 >
编程相关推荐