一个列表中的元素含有多个重复的元素,怎么去除重复的元素。
一种是去除重复元素后但是顺序不保持一致,一致是去除后保持顺序一致。
如列表如下:
>>> 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']
网友评论