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

Python – ตรวจสอบว่าแถวมีความถี่เหมือนกัน


เมื่อต้องการตรวจสอบว่าแถวต่างๆ มีความถี่ของสมาชิกเหมือนกัน จะใช้ตัวดำเนินการ all(), เมธอด Counter และการวนลูปแบบง่าย

ตัวอย่าง

from collections import Counter
my_list = [[21, 92, 64, 11, 3], [21, 3, 11, 92, 64], [64, 92, 21, 3, 11]]
print("The list is :")
print(my_list)
my_result = all(dict(Counter(row)) == dict(Counter(my_list[0])) for row in my_list)
if(my_result == True):
    print("All rows have similar frequency")
else:
    print("All rows do not have similar frequency")

ผลลัพธ์

The list is : [[21, 92, 64, 11, 3], [21, 3, 11, 92, 64], [64, 92, 21, 3, 11]]
All rows have similar frequency

คำอธิบาย

  • นำเข้าโมดูล Counter จาก collections

  • กำหนดรายการของรายการจำนวนเต็มและแสดงผล

  • แปลงแต่ละแถวเป็น Counter แล้วเป็น Dictionary เพื่อเปรียบเทียบความถี่

  • ตรวจสอบว่าแทบทุกแถวมีความถี่ของสมาชิกเท่ากับแถวแรกหรือไม่

  • เก็บค่า Boolean ไว้ในตัวแปร

  • แสดงข้อความตามค่า Boolean ที่ได้