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

แยกตัวเลขที่มีจำนวนหลักเฉพาะจากลิสต์ทัพเพิลใน Python


เมื่อต้องการกรองทัพเพิลในลิสต์ ให้เหลือเฉพาะทัพเพิลที่ทุกองค์ประกอบมีจำนวนหลัก (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 หลัก (ทัพเพิลคู่เดียว)