python中如何删除列表中重复的元素

发布网友 发布时间:2022-04-22 03:15

我来回答

2个回答

懂视网 时间:2022-04-28 04:23

python列表去重的方法:1、利用字典的fromkeys()和keys()方法去重;2、集合的可迭代方法;3、用for循环,代码为【for x in L3:if x not in L4:L4.append(x)】。

python列表去重的方法:

第一种方法,利用字典的fromkeys()和keys()方法

#列表去重
L = [1,2,3,4,5,6,6,5,4,3,2,1]
#创建一个空字典
d = {}
#用字典的fromkeys()方法去重,得到一个字典,去重之后的元素为键,值为None的字典
#{1: None, 2: None, 3: None, 4: None, 5: None, 6: None}
#fromkeys(iterable,value=None)
L = d.fromkeys(L)
print(L) #{1: None, 2: None, 3: None, 4: None, 5: None, 6: None}
#用字典的keys()方法得到一个类似列表的东西,但不是列表。keys()函数返回的是一个dict_keys对象:
#以字典的键作为元素的一个类列表
L = L.keys()
#print(L) #dict_keys([1, 2, 3, 4, 5, 6])
L = list(L)
print(L) #[1, 2, 3, 4, 5, 6]
#可以用列表的sort()方法排序,默认是升序
# print(L.sort())
L.sort(reverse=True) #升序
print(L)#[6, 5, 4, 3, 2, 1]
print('-----------------------------')

第二种方法,集合,集合是可迭代的

L2 = [1,2,3,4,5,6,6,5,4,3,2,1]
L2=set(L2)
print(L2) #{1, 2, 3, 4, 5, 6}
L2 = list(L2)
print(L2) #[1, 2, 3, 4, 5, 6]
print('-------------------------------')

第三种方法,用for循环

L3 = [1,2,3,4,5,6,6,5,4,3,2,1]
L4 = []
for x in L3:
 if x not in L4:
 L4.append(x)
print(L4) #[1, 2, 3, 4, 5, 6]

相关免费学习推荐:python视频教程

热心网友 时间:2022-04-28 01:31

举个例子,比如有这样一个列表l,可表示为[1,2,2,5,3,6],它可以通过下面的操作达到去重的目的:l=list(set(l)),在python shell中代码执行如下图所示:

python列表去重操作代码运行结果

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com