栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python列表去重

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python列表去重

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按原来索引排序就好。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/916031.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号