Computer >> Máy Tính >  >> Lập trình >> Python

Python - Loại bỏ các cột của các phần tử trùng lặp

Khi cần loại bỏ các cột của các phần tử trùng lặp, một phương thức được xác định để tạo một tập hợp trống. Danh sách được lặp đi lặp lại và nếu không tìm thấy nó, nó sẽ được thêm vào tập hợp.

Ví dụ

Dưới đây là một minh chứng về điều tương tự

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)

Đầu ra

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]]

Giải thích

  • Các gói bắt buộc được nhập vào môi trường.

  • Một phương thức có tên là ‘remove_dupes’ được xác định sẽ nhận một danh sách làm tham số.

  • Một tập hợp trống được tạo.

  • Các phần tử trong danh sách được liệt kê trên và nếu không tìm thấy phần tử, phần tử đó sẽ được thêm vào tập hợp trống.

  • Nếu không, trình lặp của phép liệt kê sẽ được tạo ra.

  • Bên ngoài chức năng, một danh sách danh sách được xác định và hiển thị trên bảng điều khiển.

  • Giá trị cho ‘K’ được xác định.

  • Phương thức được gọi bằng cách lặp lại nó.

  • Nó được chuyển đổi thành một tập hợp và được gán cho một biến.

  • Một lần nữa, nó được liệt kê, lặp lại và lưu trữ trong một biến kết quả.

  • Biến kết quả này được hiển thị dưới dạng đầu ra trên bảng điều khiển.