python list去重方法及效率

2021-08-20 10:12:01 字數 612 閱讀 9308

1、直觀方法

li=[1,2,3,4,5,1,2,3]

new_li=

for i in li:

if i not

in new_li:

print(new_li)

總結:這樣可以做出來,但是效率不行。但是此方法保證了列表的順序性。

2、利用set的自動去重功能

li=[1,2,3,4,5,1,2,3]

li=list(set(li))

print(li)

將列表轉化為集合再轉化為列表,利用集合的自動去重功能。簡單快速。

缺點是:使用set方法無法保證去重後的順序。

但是,可以通過列表中索引(index)的方法保證去重後的順序不變。

li

new_li=list(set(li))

new_li.sort(key=li.index)

print(new_li)

3. 利用字典的keys方法
li=[1,2,3,4,5,1,2,3]

li_new = {}.fromkeys(li).keys()

python List 列表去重方法及效率

lis 1 7,3 2,5 6,2 3,4 1,5 new lis for x in lis if x not in new lis print new lis 特點 直觀,原有順序不變,但是效率不行。lis 1 7,3 2,5 6,2 3,4 1,5 lis list set lis print ...

陣列去重方法及原理

方法一 body script function unique arr 建立objecj物件 var unique for vari 0 ilength i return unique console log unique script body 如果obj裡有arr i 這個屬性物件的話,程式就跳...

vector去重方法

1.排序以後使用unique 函式 unique函式比較的時相鄰的兩個元素,重複的放到vector尾部 sort vector.begin vector.end vector.erase unique vector begin vector end vector end unique 函式將重複的元...