리스트가 회문(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 메서드를 통해 하나의 문자열로 합칩니다.
변환된 문자열을 인자로 전달하며 메서드를 호출합니다.
최종 결과가 콘솔에 출력됩니다.