Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - ชุดค่าผสมที่พบบ่อยที่สุดใน Matrix


เมื่อจำเป็นต้องค้นหาชุดค่าผสมที่พบบ่อยที่สุดในเมทริกซ์ ระบบจะใช้การวนซ้ำอย่างง่ายร่วมกับวิธี 'sort' และวิธีการ 'Counter'

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน

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)

ผลลัพธ์

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

คำอธิบาย

  • แพ็คเกจที่จำเป็นจะถูกนำเข้าสู่สภาพแวดล้อม

  • รายการของรายการถูกกำหนดและแสดงบนคอนโซล

  • ตัวนับถูกกำหนดให้กับตัวแปร

  • รายการซ้ำแล้วซ้ำอีก

  • มีการกำหนดเงื่อนไขเพื่อตรวจสอบว่าความยาวขององค์ประกอบน้อยกว่า 2 หรือไม่

  • หากเป็นเช่นนั้น การดำเนินการจะดำเนินต่อไป

  • มิฉะนั้น องค์ประกอบในรายการจะถูกจัดเรียงโดยใช้วิธีการ "จัดเรียง"

  • รายการจะถูกทำซ้ำอีกครั้ง และใช้วิธีการ 'การรวมกัน' เพื่อเพิ่มองค์ประกอบที่ดัชนีเฉพาะ 1

  • ถัดไป ใช้ list comprehension เพื่อตรวจสอบว่าการนับเท่ากันหรือไม่

  • สิ่งนี้ถูกกำหนดให้กับตัวแปร

  • จะแสดงเป็นเอาต์พุตบนคอนโซล