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

yipeiwu_com5年前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程序设计有所帮助。

相关文章

python 简单的绘图工具turtle使用详解

python 简单的绘图工具turtle使用详解

目录 1. 画布(canvas)   1.1 设置画布大小 2. 画笔   2.1 画笔的状态   2....

python提取xml里面的链接源码详解

因群里朋友需要提取xml地图里面的链接,就写了这个程序。 代码: #coding=utf-8 import urllib import urllib.request import r...

Python Tkinter实现简易计算器功能

Python Tkinter实现简易计算器功能

闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为那么多button的大部分参...

pygame加载中文名mp3文件出现error

pygame加载中文名mp3文件出现error

前言:  今天刚刚做了个音乐列表,但笔者发现在指定目录mp3文件名为中文时,便出现pygame.error,不能正确加载指定mp3文件.写好的代码不想再改了,来个小测试吧 pygame播...

Python3生成手写体数字方法

Python3生成手写体数字方法

0.引言   平时上网干啥的基本上都会接触验证码,或者在机器学习学习过程中,大家或许会接触过手写体识别/验证码识别之类问题,会用到手写体的数据集;   自己尝试写了一个生成手写体图片的p...