เมื่อจำเป็นต้องแยกแถวของเมทริกซ์ที่มีองค์ประกอบความถี่เท่ากัน จะใช้การทำความเข้าใจรายการด้วยตัวดำเนินการ "ทั้งหมด" และวิธีการ "ตัวนับ"
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน
from collections import Counter my_list = [[41, 25, 25, 62], [41, 41, 41, 41, 22, 22], [65, 57, 65, 57], [11, 24, 36, 48]] print("The list is :") print(my_list) my_result = [sub for sub in my_list if all( value % 2 == 0 for key, value in list(dict(Counter(sub)).items()))] print("The result is :") print(my_result)
ผลลัพธ์
The list is : [[41, 25, 25, 62], [41, 41, 41, 41, 22, 22], [65, 57, 65, 57], [11, 24, 36, 48]] The result is : [[41, 41, 41, 41, 22, 22], [65, 57, 65, 57]]
คำอธิบาย
-
รายการของรายการถูกกำหนดและแสดงบนคอนโซล
-
ความเข้าใจรายการใช้เพื่อวนซ้ำองค์ประกอบในรายการ และใช้ตัวดำเนินการ 'ทั้งหมด' เพื่อตรวจสอบว่าค่าถูกหารด้วย 2 หรือไม่
-
องค์ประกอบของรายการสามารถเข้าถึงได้โดยใช้ 'Counter' และ 'dict'
-
สิ่งนี้ถูกแปลงเป็นรายการและถูกกำหนดให้กับตัวแปร
-
สิ่งนี้จะแสดงเป็นเอาต์พุตบนคอนโซล