gpt4 book ai didi

python - 在字典中删除重复列表的最快方法

转载 作者:太空狗 更新时间:2023-10-29 21:26:16 25 4
gpt4 key购买 nike

<分区>

我有一个包含列表的字典,需要一种快速删除列表重复数据的方法。

我知道如何使用 set() 函数单独对列表进行重复数据删除,但在这种情况下,我想要一种快速遍历字典的方法,同时对每个列表进行重复数据删除。

hello = {'test1':[2,3,4,2,2,5,6], 'test2':[5,5,8,4,3,3,8,9]}

我希望它看起来像;

hello = {'test1':[2,3,4,5,6], 'test2':[5,8,4,3,9]}

虽然我不一定需要保留列表的原始顺序。

我试过使用这样的集合,但它不太正确(它没有正确迭代,我丢失了第一个 key )

for key, value in hello.items(): goodbye = {key: set(value)}
>>> goodbye
{'test2': set([8, 9, 3, 4, 5])}

编辑:根据下面 PM 2Ring 的评论,我现在以不同方式填充字典以避免首先出现重复。以前我使用的是列表,但使用集合可以防止默认添加重复项;

>>> my_numbers = {}
>>> my_numbers['first'] = [1,2,2,2,6,5]
>>> from collections import defaultdict
>>> final_list = defaultdict(set)
>>> for n in my_numbers['first']: final_list['test_first'].add(n)
...
>>> final_list['test_first']
set([1, 2, 5, 6])

如您所见,根据需要,最终输出是去重集。

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