Python 对一维及二维List中数据去重

本文介绍了Python处理一维和二维List数据去重的多种方法,包括利用set、索引、keys()以及itertools.grouby。对于一维List,set方法虽然快速但不保证顺序,而结合索引可以保留顺序。对于二维List,需要先将元素转化为tuple才能进行去重操作。

目录

1. 一维List

1、遍历

2、利用set

3、利用set+索引

4、使用keys()

5、使用itertools.grouby

2. 二维List

1. 一维List

1、遍历

先建立一个新的空列表,通过遍历原来的列表,再利用逻辑关系not in 来去重。
这样可以做出来,但是过程不够简单。不过此方法保证了列表的顺序性。

li=[1,2,3,4,5,1,2,3]
new_li=[]
for i in li:
    if i not in new_li:
    new_li.append(i)
print(new_li)

2、利用set

将列表转化为集合再转化为列表,利用集合的自动去重功能。简单快速。缺点是:使用set方法无法保证去重后的顺序。

li=[1,2,3,4,5,1,2,3]
li=list(set(li))
print(li)

3、利用set+索引

可以通过列表中索引(index)的方法保证去重后的顺序不变。

li=[1,2,3,4,5,1,2,3]
new_li=list(set(li))
new_li.sort(key=li.index)
print(new_li)

4、使用keys()

但是结果不能保持原来的顺序

li = [1,0,3,7,7,5]
formatList = list({}.fromkeys(li).keys())
print (formatList)

5、使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值