Python列表去重的六種方法

2021-10-25 08:24:49 字數 2042 閱讀 1584

方法一: 使用內建set方法來去重

>>

> lst1 =[2

,1,3

,4,1

]>>

> lst2 =

list

(set

(lst1)

)>>

>

print

(lst2)[1

,2,3

,4]

方法二: 使用字典中fromkeys()的方法來去重

>>

> lst1 =[2

,1,3

,4,1

]>>

> lst2 =

.fromkeys(lst1)

.keys(

)>>

>

print

(lst2)

dict_keys([2

,1,3

,4])

方法三: 使用常規方法來去重

'''

'''>>

> lst1 =[2

,1,3

,4,1

]>>

> temp =

>>

>

for item in lst1:

ifnot item in temp:

>>

>

print

(temp)[2

,1,3

,4]

方法四: 使用列表推導來去重

>>

> lst1 =[2

,1,3

,4,1

]>>

> temp =

>>

>

for i in lst1 if

not i in temp]

[none

,none

,none

,none

]>>

>

print

(temp)[2

,1,3

,4]

方法五: 使用sort函式來去重

>>

> lst1 =[2

,1,3

,4,1

]>>

> lst2.sort(key=lst1.index)

>>

>

print

(lst2)[2

,1,3

,4]

方法六: 使用sorted函式來去重

'''

'''>>

> lst1 =[2

,1,3

,4,1

]>>

> lst2 =

sorted

(set

(lst1)

, key=lst1.index)

>>

>

print

(lst2)[2

,1,3

,4]

備註: 前面的幾種方法,有幾種是不能保證其順序的,比如用set()函式來處理!

如果要刪除列表列表中的重複項,則同樣可以用下面的幾種方法來處理

>>

>

# 方法一:

>>

> data =[2

,1,3

,4,1

]>>

>

[item for item in data if data.count(item)==1

][2,

3,4]

>>

>

# 方法二:

>>

> data =[2

,1,3

,4,1

]>>

>

list

(filter

(lambda x:data.count(x)==1

, data))[

2,3,

4]

JS陣列去重的六種方法

一 利用es6 set去重 es6中最常用 function unique arr var arr 1,1,true true true,true,15,15,false,false,undefined,undefined,null,null,nan,nan,nan 0,0,a a console....

去水印六種方法

1 使用仿製圖章工具去除 使用仿製圖章工具去除文字這是比較常用的方法,具體的操作是,選取仿製圖章工具,按住alt鍵,在無文字區域點選相似的色彩名圖案取樣,然後在文字區域拖動滑鼠複製以覆蓋文字。要注意的是,取樣點即為複製的起始點。選擇不同的筆刷直徑會影響繪製的範圍,而不同的筆刷硬度會影響繪製區域的邊緣...

JS實現陣列去重方法總結 六種方法

方法一 雙層迴圈,外層迴圈元素,內層迴圈時比較值 如果有相同的值則跳過,不相同則push進陣列?1 2345 6789 1011 1213 1415 1617 18array.prototype.distinct function result.push arr i returnresult var...