gpt4 book ai didi

Python:使用字典从列表中删除重复项同时保留顺序

转载 作者:行者123 更新时间:2023-11-28 21:57:48 26 4
gpt4 key购买 nike

我有一个列表:

>>> a = big_list(30)
>>> a
[-14, -13, 10, 7, -10, 5, 3, 10, 8, -13, 14, -12, 6, 10, 8, 7, 4, -8, -10, -3, -6, 2, -6, 3, -3, 0, -13, -14, 2, -12]

我需要在使用字典保留顺序的同时删除重复项

到目前为止,我使用这段代码将 a 转换成了字典

def only_once(a):
i = iter(a)
print dict(zip(i,i))

输出是:

>>> only_once(a)
{2: -12, 3: 10, 4: -8, 6: 10, 8: 7, 10: 7, 14: -12, -14: -13, -13: -14, -10: -3, -6: 3, -3: 0}

有重复项并且它们的排列顺序很奇怪,关于如何在保持顺序和删除重复项的同时将其转换回列表有什么想法吗?

最佳答案

使用 OrderedDict:

x = [-14, -13, 10, 7, -10, 5, 3, 10, 8, -13, 14, -12, 6, 10, 8, 7, 4, -8, -10, -3, -6, 2, -6, 3, -3, 0, -13, -14, 2, -12]
from collections import OrderedDict
d = OrderedDict.fromkeys(x)
x = list(d)

这里保留了顺序,因为每个重复项的第一次出现仍然在相同的位置。

关于Python:使用字典从列表中删除重复项同时保留顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19370311/

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