เมื่อต้องการกรองทัพเพิลในลิสต์ ให้เหลือเฉพาะทัพเพิลที่ทุกองค์ประกอบมีจำนวนหลัก (digits) เท่ากับ N ที่กำหนด
ตัวอย่างโค้ด
my_list = [(67, 2), (34, 65), (212, 23), (17, 67), (18,)]
print("The list is:")
print(my_list)
N = 2
print("The value of N is:", N)
result = [sub for sub in my_list if all(len(str(ele)) == N for ele in sub)]
print("The extracted tuples are:")
print(result)ผลลัพธ์
The list is: [(67, 2), (34, 65), (212, 23), (17, 67), (18,)] The value of N is: 2 The extracted tuples are: [(34, 65), (17, 67), (18,)]
คำอธิบาย
กำหนด N = 2 (ต้องการตัวเลข 2 หลัก)
ใช้ List Comprehension ร่วมกับ
all()ตรวจสอบทุกองค์ประกอบในทัพเพิลlen(str(ele)) == Nแปลงตัวเลขเป็นสตริงแล้ววัดความยาว(67, 2) ถูกตัดออก เพราะ 2 มี 1 หลัก
(212, 23) ถูกตัดออก เพราะ 212 มี 3 หลัก
(18,) ผ่าน เพราะ 18 มี 2 หลัก (ทัพเพิลคู่เดียว)