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

Python에서 튜플과 리스트가 동일한지 확인하는 방법

튜플(tuple)과 리스트(list)가 동일한지, 즉 두 자료 구조가 같은 요소들을 담고 있는지 확인해야 하는 경우에는 간단한 반복문을 사용하면 됩니다.

리스트는 서로 다른 타입의 값, 즉 정수, 실수, 문자열 등 어떤 데이터 타입이든 저장할 수 있는 유연한 자료 구조입니다.

아래는 튜플과 리스트가 동일한지 확인하는 과정을 보여주는 예제입니다.

예제

my_tuple_1 = ('Hi' , 'there', 'Will')
my_list = ['How' ,'are' ,'you']

print("The tuple is : ")
print(my_tuple_1)
print("The list is : ")
print(my_list)

my_result = True
for i in range(0, len(my_list)):
    if(my_list[i] != my_tuple_1[i]):
        my_result = False
        break
print("Are the tuple and list identical ? ")
print(my_result)

출력 결과

The tuple is :
('Hi', 'there', 'Will')
The list is :
['How', 'are', 'you']
Are the tuple and list identical ?
False

코드 설명

  • 튜플과 리스트를 각각 정의한 뒤 콘솔에 출력합니다.
  • 변수 my_result에 'True' 값을 할당합니다.
  • 리스트를 순회하면서 리스트의 각 요소와 튜플의 해당 요소를 하나씩 비교합니다.
  • 두 요소가 서로 다르면, 앞서 'True'로 설정했던 변수에 'False' 값을 할당합니다.
  • 이후 break 문으로 반복문을 즉시 빠져나옵니다.
  • 최종 결과는 변수에 저장된 불리언(Boolean) 값이며, 이 값이 콘솔에 출력됩니다.

더 간단한 방법: all() 함수 활용

위의 반복문 로직은 파이썬 내장 함수인 all()zip()을 사용하면 한 줄로 표현할 수 있습니다.

my_result = all(x == y for x, y in zip(my_tuple_1, my_list))
print("Are the tuple and list identical ? ")
print(my_result)

zip()은 두 자료 구조의 요소를 짝지어 주고, all()은 모든 짝이 일치할 때만 True를 반환합니다. 다만 두 자료 구조의 길이가 다를 수 있으므로, 실무에서는 아래와 같이 길이까지 함께 비교하는 것이 안전합니다.

my_result = len(my_tuple_1) == len(my_list) and all(
    x == y for x, y in zip(my_tuple_1, my_list)
)

이처럼 반복문 방식은 비교 과정을 단계별로 명확하게 보여주는 장점이 있고, all() 방식은 코드가 간결해진다는 장점이 있습니다. 상황에 맞게 선택하여 사용하면 됩니다.