python 列表去重 陣列 的幾種方法

2022-05-04 19:09:33 字數 897 閱讀 3505

一、方法1

**如下

複製**

思路看起來比較清晰簡單 ,也可以保持之前的排列順序。

二、方法2

通過set方法進行處理

**如下

複製**

ids = [1,4,3,3,4,2,3,4,5,6,1]

ids = list(set(ids))

處理起來比較簡單,使用了集合方法set進行處理,不過結果不會保留之前的順序。

三、方法3

利用lambda匿名函式和 reduce 函式處理

**如下

複製**

ids = [1,4,3,3,4,2,3,4,5,6,1]

func = lambda x,y:x if y in x else x + [y]

reduce(func, [, ] + ids)

四、方法4

使用itertools模組

**如下

複製**

import itertools

ids = [1,4,3,3,4,2,3,4,5,6,1]

ids.sort()

it = itertools.groupby(ids)

for k, g in it:

print k

五、無法保持原有順序

**如下

複製**

liebiao=set(liebiao)

六、while遍歷去重

**如下

複製**

def delrepeat(liebiao):

for x in liebiao:

while liebiao.count(x)>1:

del liebiao[liebiao.index(x)]

return liebiao

陣列中的鍵值對去重 陣列去重

陣列去重 將陣列中重複的元素找出來並刪減為乙個。目的很簡單,方法倒有很多,以至於我費盡心思去考慮各種方法的好處壞處並進行對比,最終得出在各種場合適用的不同方法。希望有不同意見的儘管指出來。方法1 function unique1 array 原理 新定義乙個陣列,結合乙個物件輔助 時間複雜度 o n...

JS 陣列去重(陣列元素是物件的情況)

js陣列去重有經典的 幾種方法 但當陣列元素是物件時,就不能簡單地比較了,需要以某種方式遍歷各值再判斷是否已出現。因為 1.如果是雜湊判斷法,物件作雜湊表的下標,就會自動轉換成字元型型別,從而導致所有元素都相等,這時判斷方法不再有意義。一般最後陣列就只剩乙個 2.如果是直接比較法,則因為物件在記憶體...

陣列去重 資料去重的四種方法

第一種 利用hash的原理去重即排序 var arr 1,1,1,2,2,2,55,5,4,4,88 var brr 去重複,利用相同下標的多次賦值以最新的為準 for var i 0 i brr arr i arr i 這個命令主要是去重 因為brr的下標會arr的元素 如果出現元素重複,那麼視為...