Python list列表中删除多个重复元素操作示例

yipeiwu_com6年前Python基础

本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下:

我们以下面这个list为例,删除其中所有值为6的元素:

l=[9,6,5,6,6,7,8,9,6,0]

首先尝试remove方法:

l.remove(6)
print(l)

结果为:[9, 5, 6, 6, 7, 8, 9, 6, 0],只删除了第一个为6的元素。

如果采用for循环遍历各元素:

for x in l:
  if x == 6:
    l.remove(x)

结果为[9, 5, 7, 8, 9, 6, 0],后面的6没有删除。主要因为remove改变了list长度和每一个元素的位置。

采用del语句需要找到元素对应下标del l[1]。应用for循环改变下标比较混乱,所以使用while循环:

length=len(l)
x=0
while x < length:
  if l[x] == 6:
    # l.remove(l[x])
    del l[x]
    x -= 1
    length -= 1
  x += 1

结果为[9, 5, 7, 8, 9, 0],删除了列表中所有的6。另外将del l[x]改为l.remove(l[x])也可以。

补充:

最近发现了numpy的unique()函数可以去除列表中所有重复元素且将列表元素从小到大排序:

import numpy as np
l=[9,6,5,6,6,7,8,9,6,0]
a = np.unique(l)
print(a)

print(a)结果为[0 5 6 7 8 9]。l和a类型不同,前者是'list',后者是'numpy.ndarray'。

PS:本站还有两款比较简单实用的在线文本去重复工具,推荐给大家使用:

在线去除重复项工具:
http://tools.jb51.net/code/quchong

在线文本去重复工具:
http://tools.jb51.net/aideddesign/txt_quchong

更多关于Python相关内容可查看本站专题:《Python字典操作技巧汇总》、《Python字符串操作技巧汇总》、《Python常用遍历技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签

Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签,具体代码如下所示: #!/usr/bin/env python # -*- codin...

理解python中生成器用法

生成器(generator)概念 生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束。 生成器语法 生成器表达...

详解Python的Flask框架中的signals信号机制

Flask 提供了信号(Signals)功能,是一种消息分发机制。类似于钩子(Hooks)。使用信号功能可以降低程序的耦合,分解复杂的业务模型。例如在更新了产品数据后,可以发送一个信号。...

跟老齐学Python之玩转字符串(2)

上一章中已经讲到连接两个字符串的一种方法。复习一下: >>> a= 'py' >>> b= 'thon' >>> a+b 'py...

python二维码操作:对QRCode和MyQR入门详解

python二维码操作:对QRCode和MyQR入门详解

python是所有编程语言中模块最丰富的 生活中常见的二维码功能在使用python第三方库来生成十分容易 三个大矩形是定位图案,用于标记二维码的大小。这三个定位图案有白边,通过这三个矩...