python小練習2:刪除列表中重複的元素
阿新 • • 發佈:2019-01-10
題目:刪除列表中重複的元素
如果列表中有重複的元素,我們想要刪除重複的,應該怎麼做呢?有好多種方法,這裡先總結三種方法
1.while 迴圈
li = [1,2,3,4,5,2,1,3,4,57,8,8,9]# 當然這裡可以使用內建函式raw_input,從鍵盤獲取資料
print li #先打印出列表li
i = 0 #變數i是li的下標,初始化為0
j = 1 #再定義一個下標,初始化為1
while i < len(li): # 迴圈條件
j = i + 1 #這裡的意思是,比如先拿出1,再拿出2,把2和1比較,判斷是否相等,所以,後面拿出的數的下標要比前一個元素的下標多一位
while j < len(li): # 當然j也要小於li的長度
if li[i] == li[j]:
del li[j] #相等的話,把後面那個元素刪掉,繼續迴圈
continue
j = j + 1
i = i + 1
print li
看一下結果:
2.用 remove 函式實現
li = "abcd" * 10
li = list(li) #將字串轉化為列表,這大家都會吧
li.sort() #將列表排序,sort是排序的意思
print li
i = 0
for s in li: #對於li中的每一個元素s
print i,s
while li.count(s) > 1: #li.count(s)是統計裡中s的個數
li.remove(s) #刪除li列表中的元素s
i = i + 1
print li
看一下結果:
3.用set實現
li = [1,2,3,4,5,2,1,3,4,57,8,8,9]
print list(set(li))
結果:
[1, 2, 3, 4, 5, 8, 9, 57]