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

Python – 특정 인덱스의 요소가 목록 요소와 동일한지 확인하는 방법

Python 프로그래밍에서 한 목록의 특정 인덱스에 위치한 요소들이 다른 목록의 요소들과 동일한지 확인해야 하는 경우가 있습니다. 이럴 때는 간단한 반복문(for)과 불리언(Boolean) 값을 활용하면 손쉽게 해결할 수 있습니다.

예제 코드

아래는 특정 인덱스의 요소 일치 여부를 확인하는 전체 예제입니다.

my_list_1 = [69, 96, 23, 57, 13, 75, 13]
my_list_2 = [68, 21, 69, 23, 49, 35, 73]

print("첫 번째 목록은 : ")
print(my_list_1)

print("정렬 후 첫 번째 목록은 :")
my_list_1.sort()
print(my_list_1)

print("두 번째 목록은 : ")
print(my_list_2)

print("정렬 후 두 번째 목록은 :")
my_list_2.sort()
print(my_list_2)

check_list = [66, 89, 69]
print("비교 대상 목록은 : ")
print(check_list)

print("정렬 후 비교 대상 목록은 :")
check_list.sort()
print(check_list)

my_result = True
for index, element in enumerate(my_list_1):

    if my_list_1[index] != my_list_2[index] and element in check_list:
        my_result = False
        break

if(my_result == True):
   print("목록의 요소들이 비교 대상 목록의 요소들과 동일합니다")
else:
   print("목록의 요소들이 비교 대상 목록의 요소들과 동일하지 않습니다")

실행 결과

첫 번째 목록은 :
[69, 96, 23, 57, 13, 75, 13]
정렬 후 첫 번째 목록은 :
[13, 13, 23, 57, 69, 75, 96]
두 번째 목록은 :
[68, 21, 69, 23, 49, 35, 73]
정렬 후 두 번째 목록은 :
[21, 23, 35, 49, 68, 69, 73]
비교 대상 목록은 :
[66, 89, 69]
정렬 후 비교 대상 목록은 :
[66, 69, 89]
목록의 요소들이 비교 대상 목록의 요소들과 동일하지 않습니다

코드 설명

  • 정수로 이루어진 두 개의 목록을 정의하고 콘솔에 출력합니다.

  • sort() 메서드로 각 목록을 오름차순으로 정렬한 뒤 다시 출력합니다.

  • 결과를 저장할 불리언 변수 my_resultTrue로 초기화합니다.

  • enumerate() 함수를 사용하여 첫 번째 목록을 인덱스와 함께 순회합니다.

  • 순회 과정에서 같은 인덱스 위치의 두 목록 요소를 비교하고, 해당 요소가 세 번째 목록(비교 대상 목록)에 포함되어 있는지 검사합니다.

  • 조건이 일치하지 않으면 불리언 값을 False로 변경하고, break 문으로 반복문을 즉시 종료하여 불필요한 연산을 줄입니다.

  • 마지막으로 최종 불리언 값에 따라 적절한 메시지를 콘솔에 출력합니다.

더 간결한 방법: zip()과 all() 활용하기

위 방식 외에도 zip()all() 함수를 조합하면 더욱 파이썬다운 코드로 작성할 수 있습니다.

my_result = all(a == b for a, b in zip(my_list_1, my_list_2))

if my_result:
    print("두 목록의 모든 인덱스 요소가 동일합니다")
else:
    print("두 목록의 요소가 동일하지 않습니다")

zip()은 두 목록의 요소를 인덱스별로 묶어주고, all()은 모든 조건식이 참인지 한 번에 판단해 줍니다. 이 방법은 가독성이 뛰어나고 코드 길이도 크게 줄어들기 때문에 실무에서 자주 사용됩니다.

마무리

이처럼 Python에서는 반복문과 불리언 값을 이용하는 기본적인 방법부터 enumerate(), zip(), all() 같은 내장 함수를 활용하는 방법까지 다양하게 목록 요소를 비교할 수 있습니다. 상황에 맞는 방식을 선택하면 더 효율적이고 읽기 좋은 코드를 작성할 수 있습니다.