iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python删除列表中重复元素的七种方法举例
  • 105
分享到

Python删除列表中重复元素的七种方法举例

Python 官方文档:入门教程 => 点击学习

摘要

目录前言直接遍历列表删除通过遍历索引删除通过遍历创建的切片来删除原列表用新列表记录需要保留的元素通过索引倒着删除通过递归函数删除毫无疑问set()是最方便的总结前言 嗨嗨,大家晚上好

前言

嗨嗨,大家晚上好 ~ 又来给你们分享小妙招啦

python列表有重复元素时,可以有以下几种方式进行删除

觉得不错的话,赶紧学起来用用吧 !

直接遍历列表删除

l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]

for el in l1:
    if l1.count(el) > 1:
        l1.remove(el)
print(l1)# 会漏删,因为删除一个元素后,后面的元素向前补位,导致紧跟的一个元素被跳过.

通过遍历索引删除

l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
for el in range(len(l1)):  # 此时len(l1)已经确定,不会随着l1后面的变化而变化
    if l1.count(l1[el]) > 1:
        l1.remove(l1[el])
print(l1)  # 会报错,因为删除元素后导致l1的长度变短了,但是for遍历的还是之前的索引长度,会导致索引超过范围而报错

通过遍历创建的切片来删除原列表

l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
for el in l1[:]:
    if l1.count(el) > 1:
        l1.remove(el) # 没有问题,可以去重,但是无法保留原有的顺序
print(l1)   

用新列表记录需要保留的元素

l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
lst = []
for el in l1:
    if lst.count(el) < 1:
        lst.append(el)
print(lst)   # 没有问题,也能保留原有顺序,但是创建了新列表

通过索引倒着删除

l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
for el in range(len(l1)-1, -1, -1):
    if l1.count(l1[el]) > 1:
        l1.pop(el)  # 没有问题,且保留原顺序
        # l1.remove(l1[el]) # 没有问题,但是不能保留原有顺序
        # del l1[el] # 这样则会保留原有顺序,小伙伴可以想一想为什么
print(l1)   

通过递归函数删除

l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
def set_lst(lst):
    for el in lst:
        if lst.count(el) > 1:
            lst.remove(el)
            set_lst(lst)    # 每次开辟一个新函数,判断上次被删除了一个元素后的列表
    else:  # 直到最后,列表里的元素都是一个,运行了else
        return lst
print(set_lst(l1))  # 因为是从前面开始删除的,所以不保留原有顺序
'''
[1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
[1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
[1, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
[1, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
[1, 3, 3, 3, 6, 6, 5, 5, 2, 2]
[1, 3, 3, 6, 6, 5, 5, 2, 2]
[1, 3, 6, 6, 5, 5, 2, 2]
[1, 3, 6, 5, 5, 2, 2]
[1, 3, 6, 5, 2, 2]
[1, 3, 6, 5, 2]   return lst = [1, 3, 6, 5, 2]
'''

毫无疑问set()是最方便的

l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2]
lst = list(set(l1))
print(lst)

总结

到此这篇关于Python删除列表中重复元素的七种方法举例的文章就介绍到这了,更多相关Python删除列表重复元素内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python删除列表中重复元素的七种方法举例

本文链接: https://www.lsjlt.com/news/202743.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python删除列表中重复元素的七种方法举例
    目录前言直接遍历列表删除通过遍历索引删除通过遍历创建的切片来删除原列表用新列表记录需要保留的元素通过索引倒着删除通过递归函数删除毫无疑问set()是最方便的总结前言 嗨嗨,大家晚上好...
    99+
    2023-05-14
    列表去重 python python怎么去除列表中重复项 python中删除列表中的重复内容
  • python中list列表删除元素的四种方法实例
    目录在python列表中删除元素主要分为以下3种场景:del:根据索引值删除元素pop():根据索引值删除元素remove():根据元素值进行删除clear():删除所有元素补充: ...
    99+
    2024-04-02
  • Python删除列表中重复元素的方法有哪些
    这篇文章主要介绍了Python删除列表中重复元素的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python删除列表中重复元素的方法有哪些文章都会有所收获,下面我们一起来看看吧。直接遍历列表删除l1&...
    99+
    2023-07-05
  • python删除列表重复元素的方法是什么
    可以通过以下两种方法删除列表中的重复元素:1. 使用set()函数:将列表转换为集合,集合中的元素不会重复,然后再将集合转换回列表。示例代码如下:```pythonmy_list = [1, 2, 3, 3, 4, 5, 5, 6]ne...
    99+
    2023-08-11
    python
  • Python如何删除列表中重复元素
    这篇“Python如何删除列表中重复元素”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python如何删除列表中重复元素”文...
    99+
    2023-07-06
  • Python怎么删除列表中重复元素
    直接遍历列表删除l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2] for el in l1: if l1.count(el) > 1: ...
    99+
    2023-05-14
    Python
  • Python list列表删除元素的4种方法
    目录del:根据索引值删除元素 pop():根据索引值删除元素 remove():根据元素值进行删除 clear():删除列表所有元素 在 Python 列表中删除元素主要分为以下 ...
    99+
    2024-04-02
  • python如何删除列表中的重复元素
    这篇文章给大家分享的是有关python如何删除列表中的重复元素的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。删除列表中的重复元素发生多次的元素称为重复元素。 我们可以使用类型转换简单地删除重复的元素。my_lis...
    99+
    2023-06-27
  • Python list列表删除元素(4种方法)
    在 Python 列表中删除元素主要分为以下 3 种场景: 根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法; 根据元素本身的值进行删除,可使用列表(list类型)提供的 remo...
    99+
    2023-09-18
    python 开发语言 后端 Powered by 金山文档
  • python列表重复元素如何删除
    要删除列表中的重复元素,可以使用以下两种方法:1. 使用集合(set):将列表转换为集合,由于集合中的元素是唯一的,所以会自动删除重...
    99+
    2023-09-15
    python
  • python怎么删除列表重复元素
    要删除列表中的重复元素,可以使用set()函数和list()函数的组合来实现。例如,假设有一个列表nums,其中包含了重复的元素:n...
    99+
    2023-10-24
    python
  • Python删除列表中的多个元素【四种方法】
    文章目录 1 使用切片删除多个元素2 使用列表解析3 利用romove()函数4 利用pop()函数 1 使用切片删除多个元素 利用索引进行对应索引元素的删除 改变原始列表 my_list...
    99+
    2023-09-22
    python 开发语言 matplotlib
  • python删除列表中特定元素的几种方法
    目录前言思路方法1方法2:使用while循环方法3:for循环倒序删除空字符串方法4:拷贝原列表前言 题目如下: 给定一个仅包含大小写字母和空格 ’ ’ 的字...
    99+
    2024-04-02
  • 使用Python怎么删除列表重复元素
    本篇文章为大家展示了使用Python怎么删除列表重复元素,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pi...
    99+
    2023-06-14
  • python安全地删除列表元素的方法
    目录方法1: 创建新列表,过滤元素1a) 列表推导,创建新列表1b) 列表推导,对a[:]赋值1c) 使用itertools.filterfalse()方法2:列表副本上迭代常见陷阱...
    99+
    2024-04-02
  • python怎么去除列表中的重复元素
    可以使用set()函数将列表转换为集合,再将集合转换为列表,即可去除列表中的重复元素。具体代码如下:```python# 原始列表l...
    99+
    2023-09-23
    python
  • Python列表对象中元素的删除操作方法
    目录1.列表元素删操作的方法2.调用remove方法一次删除一个指定的元素3.调用pop方法一次只删除一个指定索引的元素3.1.使用pop方法删除列表中索引为2的元素3.2.使用po...
    99+
    2022-12-21
    Python列表元素删除操作 Python列表操作 Python列表元素
  • python如何移除列表中的重复元素
    这篇文章主要介绍了python如何移除列表中的重复元素,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。移除列表中的重复元素感谢你能够认真阅读完...
    99+
    2024-04-02
  • python如何去除列表中的重复元素
    可以使用set()函数来去除列表中的重复元素。set()函数能够将列表转换为集合,并且集合中不允许有重复元素,然后再将集合转换为列表。具体代码如下:```pythonoriginal_list = [1, 2, 3, 2, 4, 3, ...
    99+
    2023-08-11
    python
  • python如何删除列表中的元素
    可以使用 del 关键字或者 remove() 方法来删除列表中的元素。 使用 del 关键字删除指定索引位置的元素: my_lis...
    99+
    2024-03-02
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作