2018-06-25 列表去重

作者: Seizens_Swift | 来源:发表于2018-06-25 21:48 被阅读6次

    一个列表中的元素含有多个重复的元素,怎么去除重复的元素。
    一种是去除重复元素后但是顺序不保持一致,一致是去除后保持顺序一致。
    如列表如下:

    >>> a_list=["1","3","1","5","7","7","5","5","8","9","22","6"]
    

    1. 去重后顺序不一致

    • (1)通过集合的属性,集合中不能存在相同的元素,即先把列表转为集合,在把集合转化为列表:
    python 代码:
    >>> list(set(a_list))
    ['22', '1', '3', '5', '7', '6', '9', '8']
    
    • (2) 通过uniq的特性,去除相邻元素之间的重复元素
    shell 代码:
    seizens@Seizens-Ubuntu:/mnt/disk/linux_work/test20180625$ cat file.txt 
    1
    3
    1
    5
    7
    7
    5
    5
    8
    9
    22
    6
    seizens@Seizens-Ubuntu:/mnt/disk/linux_work/test20180625$ sort file.txt 
    1
    1
    22
    3
    5
    5
    5
    6
    7
    7
    8
    9
    seizens@Seizens-Ubuntu:/mnt/disk/linux_work/test20180625$ sort file.txt | uniq 
    1
    22
    3
    5
    6
    7
    8
    9
    seizens@Seizens-Ubuntu:/mnt/disk/linux_work/test20180625$ 
    

    2. 去重后顺序一致

    • (1)创建一个新的空列表,遍历原列表,如果原列表中的元素不在新列表中,则把该元素加入到新列表中
    python 代码:
    >>> new_list=[]
    >>> for tmp in a_list:
    ...     if tmp not in new_list:
    ...             new_list.append(tmp)
    ...
    >>> new_list
    ['1', '3', '5', '7', '8', '9', '22', '6']
    

    相关文章

      网友评论

        本文标题:2018-06-25 列表去重

        本文链接:https://www.haomeiwen.com/subject/fcluyftx.html