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

Python – กรอง tuple ด้วยองค์ประกอบเดียวกันทั้งหมด


เมื่อจำเป็นต้องกรอง tuple ที่มีองค์ประกอบเหมือนกัน คุณสามารถใช้ list comprehension และ 'set' operator และวิธีการ 'len' ได้

ตัวอย่าง

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

my_list = [(31, 54, 45, 11, 99) , (11,11), (45, 45, 45), (31, 54, 45, 11, 99),(99, 99), (0,0)]

print("The list is : " )
print(my_list)

my_result = [sub_list for sub_list in my_list if len(set(sub_list)) == 1]

print("The resultant list is : ")
print(my_result)

ผลลัพธ์

The list is :
[(31, 54, 45, 11, 99), (11, 11), (45, 45, 45), (31, 54, 45, 11, 99), (99, 99), (0, 0)]
The resultant list is :
[(11, 11), (45, 45, 45), (99, 99), (0, 0)]

คำอธิบาย

  • รายการทูเพิลถูกกำหนดและแสดงบนคอนโซล

  • ความเข้าใจรายการใช้เพื่อวนซ้ำองค์ประกอบในรายการ

  • มีการวางเงื่อนไขที่ตรวจสอบเพื่อดูว่าความยาวขององค์ประกอบในรายการหรือไม่ หลังจากใช้ตัวดำเนินการ 'set' กับองค์ประกอบนั้นเท่ากับ 1

  • ถ้าใช่ จะถูกเก็บไว้ในรายการ

  • รายการนี้ถูกกำหนดให้กับตัวแปร

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