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

Python – ตรวจสอบองค์ประกอบที่คล้ายกันในแถวเมทริกซ์


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

ตัวอย่าง

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

from collections import Counter
def find_dupes(my_matrix):
   my_matrix = map(tuple,my_matrix)

   freq_dict = Counter(my_matrix)

   for (row,freq) in freq_dict.items():
      if freq>1:
         print (row)

my_matrix = [[1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [1, 0, 1, 1, 0, 0],
         [1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]]
print("The matrix is :")
print(my_matrix)

print("The result is :")
find_dupes(my_matrix)

ผลลัพธ์

The matrix is :
[[1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [1, 0, 1, 1, 0, 0], [1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]]
The result is :
(1, 1, 0, 1, 0, 1)
(0, 0, 1, 0, 0, 1)

คำอธิบาย

  • แพ็คเกจที่จำเป็นจะถูกนำเข้า

  • มีการกำหนดเมธอดชื่อ 'find_dupes' ซึ่งรับเมทริกซ์เป็นพารามิเตอร์

  • วิธี 'แผนที่' ใช้เพื่อแปลงเมทริกซ์เป็นทูเพิล

  • วิธีการนับใช้เพื่อนับทุกค่าในเมทริกซ์

  • นี้ถูกเก็บไว้ในพจนานุกรม

  • มีการทำซ้ำรายการพจนานุกรม

  • หากความถี่ขององค์ประกอบใด ๆ มากกว่า 1 จะแสดงบนคอนโซล

  • นอกเมธอด เมทริกซ์ (ในทางเทคนิคแล้วเป็นรายการของรายการ) ถูกกำหนดและแสดงบนคอนโซล

  • วิธีการนี้ถูกเรียกโดยการส่งผ่านพารามิเตอร์ที่จำเป็น

  • ผลลัพธ์จะปรากฏบนคอนโซล