เมื่อจำเป็นต้องตรวจสอบองค์ประกอบที่คล้ายกันในแถวเมทริกซ์ จะมีการกำหนดวิธีการที่ใช้เมทริกซ์เป็นพารามิเตอร์ เมธอดแผนที่ใช้เพื่อแปลงเมทริกซ์เป็นทูเพิล ค่าเมทริกซ์ซ้ำแล้วซ้ำอีก และหากความถี่มากกว่า 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 จะแสดงบนคอนโซล
-
นอกเมธอด เมทริกซ์ (ในทางเทคนิคแล้วเป็นรายการของรายการ) ถูกกำหนดและแสดงบนคอนโซล
-
วิธีการนี้ถูกเรียกโดยการส่งผ่านพารามิเตอร์ที่จำเป็น
-
ผลลัพธ์จะปรากฏบนคอนโซล