python列表去重

本文介绍了两种Python中去除列表重复元素的方法。方法一是使用for循环和if条件判断,将不在新列表的元素添加进去;方法二是利用集合的无重复特性,先将列表转换为集合再转回列表,如果需要保持原有顺序,可结合使用sort()函数和lst.index作为key。通过实例展示了如何在去重的同时保持元素顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、方法一

        嗯,这个是简单的逻辑不多赘述。

lst = [1,2,6,1,3,2]
lst1 = []
for i in lst:
    if i not in lst1:
        lst1.append(i)
print(lst1)

2、方法二

        利用集合没有重复元素的特点进行去重。set()可以将字符串、列表、元组甚至字典(与前面几种类型略有不同)转换为集合,、并且得到的集合是无序的,每一次打印都有得到不同顺序的结果。

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

        但是有时候我们需要让得到的list1的顺序按照lst来排,我们可以利用sort()函数。sort()函数有俩个参数key、reverse。reverse决定了升序(默认升序)还是降序(reverse=True);key指定了一个函数。这样解释key太抽象了,写个例子演示一下:

         fun函数返回的是列表的第二个元素,lst传入sort()的是[1,3],[4,2],[9,5],[1,-1],他们的第二个元素依次是3,2,5,-1,按升序排列即-1,2,3,5所以得到上面的结果。lst1同理就不多赘述。

所以利用set集合去重又不打乱顺序只需要:

lst = [1,2,6,1,3,2]
lst1 = list(set(lst))
lst1.sort(key = lst.index)
print(lst1)

        index函数可以返回值所对应的下标(如果有相同的值,没有任何限制的情况下返回第一个值的下标),所以把得到的lst1按原来索引排序就好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值