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

โปรแกรม Python เพื่อแยกแถวของเมทริกซ์ที่มีองค์ประกอบความถี่คู่


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

ตัวอย่าง

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

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'

  • สิ่งนี้ถูกแปลงเป็นรายการและถูกกำหนดให้กับตัวแปร

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