一個列表中的元素含有多個重復(fù)的元素,怎么去除重復(fù)的元素棱诱。
一種是去除重復(fù)元素后但是順序不保持一致,一致是去除后保持順序一致。
如列表如下:
>>> a_list=["1","3","1","5","7","7","5","5","8","9","22","6"]
1. 去重后順序不一致
- (1)通過集合的屬性仰坦,集合中不能存在相同的元素,即先把列表轉(zhuǎn)為集合计雌,在把集合轉(zhuǎn)化為列表:
python 代碼:
>>> list(set(a_list))
['22', '1', '3', '5', '7', '6', '9', '8']
- (2) 通過uniq的特性悄晃,去除相鄰元素之間的重復(fù)元素
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)創(chuàng)建一個新的空列表,遍歷原列表凿滤,如果原列表中的元素不在新列表中妈橄,則把該元素加入到新列表中
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']