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

Python - ทดสอบว่าลิสต์เป็น Palindrome หรือไม่

ตรวจสอบว่าลิสต์อ่านจากหน้าหลังเท่ากันหรือไม่ โดยแปลงลิสต์เป็นสตริง (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")