方法一:
如果我們不考慮原來串列中元素的先后位置,可以直接將串列轉化為集合(集合不允許有重復元素),然后在轉為串列,
實作代碼:
# 洗掉串列中重復元素
list1 = [1, 1, 8, 8, 6, 3, 3, 9, 9, 10, 11, 1, 8, 6, 3, 9]
print('轉化為集合后: ', list(set(list1)))
結果如下:

我們發現原來串列中元素的相對位置改變了,
方法二:
如果不使用上面這個方法,我們還可以使用下面的方法,
思路:首先創建一個空串列,把待處理串列的元素一個一個添加進新串列中,如果待添加的元素在新串列中已經存在,則不添加,
實作代碼:
# 洗掉串列中重復元素
list1 = [1, 1, 8, 8, 6, 3, 3, 9, 9, 10, 11, 1, 8, 6, 3, 9]
# 創建一個新串列
listNew1 = []
for i in range(len(list1)):
if list1[i] not in listNew1:
listNew1.append(list1[i])
print('處理后的串列:', listNew1)
運行結果:

這里我們發現元素的相對位置沒有改變,
方法三:
不創建新串列,只在原來的串列中處理,
# 洗掉串列中重復元素
list1 = [1, 1, 8, 8, 6, 3, 3, 9, 9, 10, 11, 1, 8, 6, 3, 9]
for i in range(len(list1)):
j = i + 1
# 如果j大于等于串列的長度,說明超出索引了,結束當前回圈
if j >= len(list1):
break
while True:
# 如果j小于串列的長度,則執行下面陳述句,否之跳出回圈
if j < len(list1):
if list1[i] == list1[j]:
del list1[j]
else:
j += 1
else:
break
print(list1)
運行結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/290885.html
標籤:python
下一篇:python小游戲
