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

Chương trình Python để chuyển đổi một danh sách thành một tập hợp dựa trên một phần tử chung

Khi cần chuyển đổi một danh sách thành một tập hợp dựa trên một phần tử chung cụ thể, một phương thức có thể được xác định để lặp lại tập hợp đó bằng cách sử dụng ‘enumerate’ và đặt một điều kiện cụ thể cho các phần tử. Phương thức "union" và phương thức "map" được sử dụng.

Ví dụ

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

def common_elem_set(my_set):
   for index, val in enumerate(my_set):
      for j, k in enumerate(my_set[index + 1:], index + 1):

         if val & k:
            my_set[index] = val.union(my_set.pop(j))
            return common_elem_set(my_set)
   return my_set

my_list = [[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]]

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

my_set = list(map(set, my_list))

my_result = common_elem_set(my_set)

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

Đầu ra

The list is :
[[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]]
The result is :
[{11, 12, 13, 14, 18, 19}, {9, 2, 6, 1}, {32, 17, 21, 54}]

Giải thích

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

  • Danh sách được lặp lại bằng cách sử dụng liệt kê.

  • Một điều kiện được đặt bằng cách sử dụng ‘&’ và nếu nó được đáp ứng, kết quả sẽ được trả về.

  • Bên ngoài phương thức, một danh sách danh sách được xác định.

  • Nó được hiển thị trên bảng điều khiển.

  • Nó được chuyển đổi thành một tập hợp bằng phương pháp 'bản đồ', sau đó lại được chuyển đổi thành danh sách.

  • Điều này được gán cho một biến.

  • Bây giờ phương thức được gọi bằng cách chuyển biến này.

  • Đầu ra được hiển thị trên bảng điều khiển.