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

Python - ลบสมาชิกที่เป็น Palindrome ออกจากลิสต์

ลบตัวเลขที่เป็น Palindrome (อ่านจากหน้าหลังเท่ากัน) ออกจากลิสต์ โดยใช้ List Comprehension และการกลับสตริง

ตัวอย่างโค้ด

my_list = [56, 78, 12, 32, 4, 8, 9, 100, 11]
print("The list is : ")
print(my_list)

my_result = [elem for elem in my_list if int(str(elem)[::-1]) not in my_list]
print("The result is : ")
print(my_result)

ผลลัพธ์

The list is : [56, 78, 12, 32, 4, 8, 9, 100, 11]
The result is : [56, 78, 12, 32, 100]

คำอธิบาย

  • str(elem)[::-1] กลับตัวเลขเป็นสตริง (เช่น 11 -> "11", 100 -> "001" -> int = 1)
  • int(...) แปลงกลับเป็น int
  • เช็คว่าค่าที่กลับแล้ว ไม่อยู่ ในลิสต์เดิม -> เก็บไว้
  • 4, 8, 9, 11 ถูกลบ เพราะค่ากลับ (4,8,9,11) อยู่ในลิสต์
  • 100 คงอยู่ เพราะ 001 -> 1 ไม่อยู่ในลิสต์