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”的值。
透過對其進行迭代來呼叫該方法。
將其轉換為集合並將其分配給變數。
再次對其進行列舉,迭代並存儲在結果變數中。
該結果變數在控制檯上顯示為輸出。
廣告