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

Python - Sự kết hợp phổ biến nhất trong Ma trận

Khi cần tìm kết hợp phổ biến nhất trong ma trận, một phép lặp đơn giản, cùng với phương thức "sort" và phương thức "Counter" được sử dụng.

Ví dụ

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

from collections import Counter
from itertools import combinations

my_list = [[31, 25, 77, 82], [96, 15, 23, 32]]

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

my_result = Counter()

for elem in my_list:
   if len(elem) < 2:
      continue

   elem.sort()

   for size in range(2, len(elem) + 1):
      for comb in combinations(elem, size):
         my_result[comb] += 1

my_result = [elem for elem, my_count in my_result.items() if my_count ==
my_result.most_common(1)[0][1]]

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

Đầu ra

The list is :
[[31, 25, 77, 82], [96, 15, 23, 32]]
The result is :
[(15, 23, 32, 96), (25, 31), (25, 82), (15, 32), (23, 32), (15, 32, 96), (25, 31, 82), (15, 23), (25, 77), (15, 23, 32), (25, 77, 82), (32, 96), (31, 77, 82), (15, 96), (31, 77), (23, 96), (25, 31, 77, 82), (31, 82), (77, 82), (23, 32, 96), (15, 23, 96), (25, 31, 77)]

Giải thích

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

  • Danh sách danh sách được xác định và hiển thị trên bảng điều khiển.

  • Bộ đếm được gán cho một biến.

  • Danh sách được lặp lại.

  • Một điều kiện được đặt ra để kiểm tra xem độ dài của phần tử có nhỏ hơn 2 hay không.

  • Nếu vậy, quá trình thực thi vẫn tiếp tục.

  • Nếu không, các phần tử trong danh sách được sắp xếp bằng phương pháp "sort".

  • Danh sách được lặp lại một lần nữa và phương thức 'kết hợp' được sử dụng để tăng phần tử tại một chỉ mục cụ thể lên 1.

  • Tiếp theo, khả năng hiểu danh sách được sử dụng để kiểm tra xem số lượng có giống nhau không.

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

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