首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从Python列表中删除重复项并保持顺序?

要从Python列表中删除重复项并保持顺序,可以使用以下方法:

  1. 使用列表推导式:
代码语言:python
代码运行次数:0
复制
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = []
[unique_list.append(i) for i in my_list if i not in unique_list]
print(unique_list)
  1. 使用集合(set):
代码语言:python
代码运行次数:0
复制
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(dict.fromkeys(my_list))
print(unique_list)
  1. 使用OrderedDict(有序字典):
代码语言:python
代码运行次数:0
复制
from collections import OrderedDict
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(OrderedDict.fromkeys(my_list).keys())
print(unique_list)

在这些方法中,方法1和方法2的时间复杂度为O(n),方法3的时间复杂度为O(n*log(n))。在大多数情况下,方法1和方法2的性能更好。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python的dict,set,list

字典(dict) dict 用 {} 包围  dict.keys(),dict.values(),dict.items()  hash(obj)返回obj的哈希值,如果返回表示可以作为dict的key  del 或 dict.pop可以删除一个item,clear清除所有的内容  sorted(dict)可以吧dict排序  dict.get()可以查找没存在的key,dict.[]不可以  dict.setdefault() 检查字典中是否含有某键。 如果字典中这个键存在,你可以取到它的值。 如果所找的键在字典中不存在,你可以给这个键赋默认值并返回此值。  {}.fromkeys()创建一个dict,例如: {}.fromkeys(('love', 'honor'), True) =>{'love': True, 'honor': True}  不允许一个键对应多个值  键值必须是哈希的,用hash()测试  一个对象,如果实现_hash()_方法可以作为键值使用

01
领券