一般而言,列表去重無非那幾種方法。
第一種,利用set()沒有重複值的特性去重,簡單,但是無序。
第二種,判斷迴圈的元素是否在新列表中以此來去掉重複值,可以保持原來的順序。
第三種,迴圈遍歷,判斷當前元素的個數是否大於1,然後在刪除當前元素(需注意刪除元素後列表的變化),無序。
今天主要說的就是第三種方法了。
示例**:
list1 = [1,3,4,1,2,2,2,2,1,2]
for item in list1:
print(item)
# 統計元素的個數
count = list1.count(item)
# 如果個數大於1,就刪乙個
if count > 1:
list1.remove(item)
print(list1)
#執行結果
[3, 4, 1, 2, 2, 2, 2, 1, 2]
[3, 4, 1, 2, 2, 2, 2, 1, 2]
[3, 4, 2, 2, 2, 2, 1, 2]
[3, 4, 2, 2, 2, 1, 2]
[3, 4, 2, 2, 1, 2]
[3, 4, 2, 1, 2]
process finished with exit code 0
看最後結果,就知道這次去重失敗了,是因為沒有注意元素位置移動的問題。那請仔細看下面的**有什麼不同:
list1 = [1,3,4,1,2,2,2,2,1,2]
for item in list1.copy():
print(item)
count = list1.count(item)
if count > 1:
list1.remove(item)
print(list1)
#執行結果
[3, 4, 1, 2, 2, 2, 2, 1, 2]
[3, 4, 1, 2, 2, 2, 2, 1, 2]
[3, 4, 1, 2, 2, 2, 2, 1, 2]
[3, 4, 2, 2, 2, 2, 1, 2]
[3, 4, 2, 2, 2, 1, 2]
[3, 4, 2, 2, 1, 2]
[3, 4, 2, 1, 2]
[3, 4, 1, 2]
[3, 4, 1, 2]
[3, 4, 1, 2]
process finished with exit code 0
有序列表 無序列表 巢狀列表
無序列表 有序列表 coffee teamilk coffee teamilk 不同型別的有序列表 編號列表 bananas lemons oranges 大寫字母列表 bananas lemons oranges 小寫字母列表 bananas lemons oranges 羅馬數字列表 banan...
HTML無序列表 有序列表 定義列表
一 無序列表 ordered list 各個列表專案之間沒有順序,是並列的 type屬性用於設定列表樣式,預設是小圓點 disc circle空心圓圈 square小方塊 通過list style none可以取消 二 有序列表 ordered list type 預設是1,表示專案列表用數字1,2...
列表標籤 無序列表 有序列表和自定義列表
1 無序列表 無序列表的各個列表項之間沒有順序級別之分,是並列的。基本語法 列表1li 列表2li 列表3li ul 1.中只能巢狀,直接在標籤中輸入其他標籤或者文字的做法是不被允許的。2.與之間相當於乙個容器,可以容納所有容器。2 有序列表 有序列錶即為有排列順序的列表,其各個列表項按照一定的順序...