เมื่อต้องการดึงตัวเลขจากลิสต์ที่หลักตัวเลขทุกหลักอยู่ในลิสต์ที่กำหนด (digit_list) สามารถใช้ list comprehension และ all() ได้
ตัวอย่าง
my_list = [3345, 2345, 1698, 2475, 1932]
print("The list is :")
print(my_list)
digit_list = [2, 3, 5, 4]
my_result = [index for index in my_list if all(int(element) in digit_list for element in str(index))]
print("The result is :")
print(my_result)
ผลลัพธ์
The list is : [3345, 2345, 1698, 2475, 1932] The result is : [3345, 2345]
คำอธิบาย
กำหนดลิสต์ตัวเลขและลิสต์หลักตัวเลขที่อนุญาต (digit_list)
ใช้ list comprehension วนลูปตัวเลขแต่ละตัว (index) แปลงเป็นสตริง
ใช้
all(int(element) in digit_list for element in str(index))ตรวจสอบทุกหลัก3345 (3,3,4,5) และ 2345 (2,3,4,5) ผ่านเงื่อนไข ตัวอื่นมีหลักไม่อยู่ใน digit_list
แสดงผลลัพธ์