Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python – 리스트가 회문인지 확인하는 방법

리스트가 회문(palindrome)인지 확인해야 할 때는, 문자열을 뒤집은 후 원본 문자열과 비교하는 메서드를 정의하면 됩니다. 비교 결과에 따라 콘솔에 적절한 메시지를 출력하며, 이 과정에서 리스트 컴프리헨션(list comprehension)join 메서드가 활용됩니다.

회문(Palindrome)이란?

회문이란 앞에서 읽으나 뒤에서 읽으나 동일한 문자열이나 수열을 의미합니다. 예를 들어 [77, 1, 56, 65, 1, 77]처럼 요소들이 좌우 대칭을 이루는 경우 회문이라고 할 수 있습니다.

예시 코드

다음은 리스트가 회문인지 검사하는 방법의 데모입니다.

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

코드 설명

  • 'check_palindrome_list'라는 이름의 메서드가 정의되며, 문자열을 매개변수로 받습니다.

  • 슬라이싱([::-1])을 사용해 문자열을 역순으로 뒤집은 뒤, 원본 문자열과 비교합니다.

  • 비교 결과에 따라 콘솔에 해당하는 메시지가 출력됩니다.

  • 메서드 외부에서 리스트를 정의하고 콘솔에 표시합니다.

  • 리스트 컴프리헨션으로 각 요소를 문자열로 변환한 뒤, join 메서드를 통해 하나의 문자열로 합칩니다.

  • 변환된 문자열을 인자로 전달하며 메서드를 호출합니다.

  • 최종 결과가 콘솔에 출력됩니다.