• 技术文章 >常见问题 >Python常见问题

    python的list如何去重

    silencementsilencement2019-08-22 11:00:52原创2665

    要去除python列表中的重复元素,有很多方法

    直观方法

    先建立一个新的空列表,再遍历原来的列表,利用逻辑关系not in 来去重。

    numbers = [1,7,3,2,5,6,2,3,4,1,5]
    new_numbers = []
    for x in numbers:
        if x not in new_numbers:
           new_numbers.append(x)
    print(new_numbers)

    此方法过程复杂,但是保证了列表的顺序性。

    使用set()的自动去重功能

    numbers = [1,7,3,2,5,6,2,3,4,1,5]
    new_numbers = list(set(numbers))
    print(new_numbers)

    此方法将列表转化为集合再转化为列表,利用集合的自动去重功能。简单快速。缺点是:使用set方法无法保证去重后的顺序。
    但是,可以通过列表中索引(index)的方法保证去重后的顺序不变。

    numbers = [1,7,3,2,5,6,2,3,4,1,5]
    new_numbers = list(set(numbers))
    new_numbers.sort(key=numbers.index)
    print(new_numbers)
    专题推荐:列表去重
    上一篇:python怎么比较两个字符串是否相等 下一篇:python怎么打开文件

    相关文章推荐

    • python怎么比较两个字符串是否相等

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网