python删除list重复元素_删除List中重复元素的方法

有很多方法可以实现删除List中的重复元素,本文介绍其中的4种。

使用set

python中的set,表示一个集合,集合内不含重复元素。因此,该方法的思路是,将list中的所有元素导入set,然后再把set重新导出到list。

>>> alist = [1,1,2,2,3,3,3,4,5,6,6]

>>> alist = list(set(alist))

>>> alist

[1, 2, 3, 4, 5, 6]

使用Dict的Key

Dict类型数据的Key值具有与set中元素一样的属性,即不能重复。因此,该方法的思路与使用set一样,只是换成了Dict类型中的Key。

>>> alist = [1,1,2,2,3,3,3,4,5,6,6]

>>> b = {}

>>> b = b.fromkeys(alist)

>>> b

{1: None, 2: None, 3: None, 4: None, 5: None, 6: None}

>>> alist = list(b.keys())

>>> alist

[1, 2, 3, 4, 5, 6]

使用List对象的count函数

count函数是List对象的成员函数,它返回某个值在list中出现的次数。如果出现次数不是1,就将其删除,知道出现次数变为1即可。

alist = [1,1,2,2,3,4,5,5,6,6,6,7,8,9,9,9]

i = 0

while True:

if i == len(alist): break

if alist.count(alist[i]) != 1:

alist.pop(i)

continue

else:

i += 1

print(alist)

这段代码还用到了list对象的pop函数,请参考关于list对象的成员函数的整体介绍。使用remove函数代替pop也可以,只是参数不能使用index,稍微麻烦一点点。

使用List对象的append函数

我们可以先创建一个空的List对象,然后一个个的将原来的List对象中的元素append进新的list,只是在append之前,判断一下此元素是否已经存在。

alist = [1,1,2,2,3,4,5,5,6,6,6,7,8,9,9,9]

blist = []

for i in range(len(alist)):

if alist[i] not in blist:

blist.append(alist[i])

print(blist)

当然在python中,肯定还有很多方法可以实现删除List中的重复元素。比如使用sort函数排序,然后通过比较删除重复的元素。。。最简单的,我觉得就是使用set的方法。

-- EOF --

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值