1. 程式人生 > >練習四十六:列表排序,刪除list中重復的元素

練習四十六:列表排序,刪除list中重復的元素

結果 clas code lag 轉換 十六 == 但是 列表

方法一:使用集合set;將list直接轉換為set

  1 a = [1,3,4,3,5,7]
  2 a = list(set(a))
  3 print(a)

執行結果:

[1, 3, 4, 5, 7]
方法二:直接排序,然後逐個比較,鑒於del會直接把元素刪除,設置個flag數組來編輯該刪除的元素(這個思路是看人家這麽寫的,有點麻煩,但是也是可以實現的,設置了標誌位)
  1 namelist = [‘Marry‘,‘Andy‘,‘Carol‘,‘Jack‘,‘Marry‘,‘Hanmeimei‘,‘Andy‘]
  2 namelist.sort()
  3 flag = []
  4 for i in range(len(namelist)):
  5
flag.append(0) 6 for x in range(len(namelist)): 7 for y in range(x+1,len(namelist)): 8 if namelist[x] == namelist[y]: 9 flag[y] = 1 10 break 11 for k in range(len(flag)-1,0,-1): 12 if flag[k] == 1: 13 del namelist[k] 14 print(flag) 15 print(namelist)
執行結果:
[0, 1, 0, 0, 0, 0, 1]
[‘Andy‘, ‘Carol‘, ‘Hanmeimei‘, ‘Jack‘, ‘Marry‘]

練習四十六:列表排序,刪除list中重復的元素