python list删除所有相同元素_如何删除Python列表中所有出现的相同元素?

由于您询问如何删除元素,我会将列表重新指定为切片.

>>> a = [-1, 1, 66.25, 333, 333, 1234.5]

>>> a[:] = [item for item in a if item != 333]

这将在内存中创建一个新的列表,通常是可以接受的,但如果你想避免这种情况而不调用remove,这将多次检查相同的项目.

>>> a = [-1, 1, 66.25, 333, 333, 1234.5]

>>> for i in range(len(a) - 1, -1, -1): # iterate over reversed indices's

>>> if a[i] == 333:

>>> del a[i]

这样做的好处是它首先删除了最后的项目(这在CPython中更快).

请注意,从Python中列表的开头 – 中间删除项目并不是那么理想.无论你使用哪种方法(del list [index]或list.remove),如果列表很大并且必须删除很多项,这意味着Python需要大量调整列表大小,在这种情况下我建议使用list-理解制作新名单.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值