ตรวจสอบว่าลิสต์อ่านจากหน้าหลังเท่ากันหรือไม่ โดยแปลงลิสต์เป็นสตริง (Join) แล้วเปรียบเทียบกับสตริงที่กลับด้าน ([::-1])
ตัวอย่างโค้ด
def check_palindrome_list(my_str):
if my_str == my_str[::-1]:
print("The list is a palindrome")
else:
print("The list isn't a palindrome")
my_list = [77, 1, 56, 65, 1, 77]
print("The list is :")
print(my_list)
my_list = ' '.join([str(elem) for elem in my_list])
check_palindrome_list(my_list)
ผลลัพธ์
The list is : [77, 1, 56, 65, 1, 77]
The list is a palindrome
คำอธิบาย
- แปลงลิสต์ตัวเลขเป็นสตริง:
' '.join(str(e) for e in my_list)-> "77 1 56 65 1 77" my_str[::-1]กลับลำดับสตริง- เปรียบเทียบ: เหมือนกัน -> Palindrome
- หมายเหตุ: วิธีนี้ขึ้นอยู่กับ Separator (Space) ถ้าเลขหลายหลักอาจสับสน (เช่น [1, 23] vs [12, 3] ทั้งคู่เป็น "1 23")