开发者社区 问答 正文

python的list如何去掉重复元素

python的list如何去掉重复元素

展开
收起
保持可爱mmm 2019-12-10 16:35:07 365 分享 版权
1 条回答
写回答
取消 提交回答
  • 要去除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学习网

    2019-12-10 16:35:18
    赞同 展开评论