Python – 刪除重複元素的列


在需要刪除重複元素的列時,定義了一個方法來建立空集。該列表將被迭代,如果未找到,則將其新增到集合中。

示例

以下是相同內容的演示

from itertools import chain

def remove_dupes(my_sub):

   my_string = set()
   for i, elem in enumerate(my_sub):

      if elem not in my_string:
         my_string.add(elem)
      else:
         yield i

my_list = [[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]

print("The list is : ")
print(my_list)

K = 3

temp_idxs = set(chain.from_iterable(remove_dupes(sub) for sub in my_list))

my_result = [[elem for i, elem in enumerate( sub) if i not in temp_idxs] for sub in my_list]

print("The result is : ")
print(my_result)

輸出結果

The list is :
[[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]
The result is :
[[5, 1, 6, 7], [6, 3, 1, 9], [4, 2, 9, 8], [5, 1, 6, 7]]

說明

  • 將必需的軟體包匯入到環境中。

  • 定義一個名為“remove_dupes”的方法,該方法以一個列表作為引數。

  • 建立一個空集。

  • 列舉列表中的元素,如果找不到元素,則將其新增到空集中。

  • 否則,生成列舉的迭代器。

  • 在函式外部,定義一個列表並將其顯示在控制檯上。

  • 定義“K”的值。

  • 透過對其進行迭代來呼叫該方法。

  • 將其轉換為集合並將其分配給變數。

  • 再次對其進行列舉,迭代並存儲在結果變數中。

  • 該結果變數在控制檯上顯示為輸出。

更新於:2021 年 9 月 20 日

106 次瀏覽

啟動您的 職業生涯

完成課程即可獲得認證

開始學習
廣告