gpt4 book ai didi

python - 从字典中消除重复值键

转载 作者:太空宇宙 更新时间:2023-11-04 06:59:17 24 4
gpt4 key购买 nike

我有以下字典,

>>> names
{1: ('c1', 1), 2: ('c2', 2), 3: ('c1', 3), 4: ('c2', 4)}

根据值中的第一个条目消除具有重复条目的键的最佳方法是什么,即 1 和 3 由于“c1”而重复,而 2 和 4 由于“c2”而重复?

我希望最终的输出是这样的

>>> uniqueNames
{1: ('c1', 1), 2: ('c2', 2) }

最佳答案

类似于如何在保持列表顺序的同时消除常规列表中的重复项。

这里唯一真正的区别是字典没有顺序,这意味着通过 names.items 的迭代顺序是任意的,因此您将保留一个任意键值对,其中第一个项目是唯一的值元组。

>>> names = {1: ('c1', 1), 2: ('c2', 2), 3: ('c1', 3), 4: ('c2', 4)}
>>>
>>> seen = set()
>>> unique_names = {}
>>>
>>> for k, (v0, v1) in names.items():
... if v0 not in seen:
... unique_names[k] = (v0, v1)
... seen.add(v0)
...
>>> unique_names
{1: ('c1', 1), 2: ('c2', 2)}

关于python - 从字典中消除重复值键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48091123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com