Python如何進行陣列去重?

老男孩IT教育機構發表於2024-01-15

  陣列是程式設計中一種強大的資料結構,它允許您儲存和操作相同型別元素的集合。在Python中,陣列也是一種非常常見的資料結構,有著十分重要的作用,而且有時候我們需要對陣列進行去重,那麼Python如何進行陣列去重?以下是具體內容介紹。

  1、使用set

  set是Python中的一種資料型別,它表示無序的不可重複的元素集合。將陣列轉換成set,然後再將set轉換成陣列,就可以去重了。

  ```python

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

  b = list(set(a))

  print(b) # [1, 2, 3, 4, 5]

  ```

  這種方法簡單易懂,但是有一個問題,那就是set是無序的,因此去重後的陣列順序可能和原陣列順序不同。

  2、使用迴圈

  使用迴圈遍歷陣列中的元素,將不重複的元素儲存到一個新陣列中。程式碼如下:

  ```python

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

  b = []

  for i in a:

  if i not in b:

  b.append(i)

  print(b) # [1, 2, 3, 4, 5]

  ```

  這種方法可以保持陣列的順序不變,但是需要使用迴圈,因此效率不如使用set。

  3、使用numpy

  numpy是Python中的一個科學計算庫,它提供了很多陣列操作的函式。其中,unique函式可以實現陣列去重。

  ```python

  import numpy as np

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

  b = np.unique(a)

  print(b) # [1 2 3 4 5]

  ```

  使用numpy的unique函式可以高效地去重陣列,並且保持陣列的順序不變。但是,需要安裝numpy庫,因此可能不太方便。


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/69952527/viewspace-3003903/,如需轉載,請註明出處,否則將追究法律責任。

相關文章