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

Python – 리스트에서 인덱스별 요소가 서로 일치하는지 확인하는 방법

리스트 내 요소들의 인덱스가 서로 일치하는지 확인해야 할 때는 간단한 반복문과 enumerate 함수를 활용하면 됩니다. 이 방법은 인덱스와 값을 동시에 얻을 수 있어 두 개의 리스트를 비교할 때 특히 유용합니다.

예제

아래는 실제 구현 예시입니다.

my_list_1 = [12, 62, 19, 79, 58, 0, 99]
my_list_2 = [12, 74, 19, 54, 58, 0, 11]

print("첫 번째 리스트 :")
print(my_list_1)

print("두 번째 리스트 :")
print(my_list_2)

my_list_1.sort()
my_list_2.sort()
print("정렬 후 첫 번째 리스트")
print(my_list_1)

print("정렬 후 두 번째 리스트")
print(my_list_2)

check_list = [9, 8, 2]
print("check_list :")
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

print("결과 :")
if(my_result == True):
   print("인덱스별 요소가 리스트의 요소와 일치합니다")
else:
   print("인덱스별 요소가 리스트의 요소와 일치하지 않습니다")

출력 결과

첫 번째 리스트 :
[12, 62, 19, 79, 58, 0, 99]
두 번째 리스트 :
[12, 74, 19, 54, 58, 0, 11]
정렬 후 첫 번째 리스트
[0, 12, 19, 58, 62, 79, 99]
정렬 후 두 번째 리스트
[0, 11, 12, 19, 54, 58, 74]
check_list :
[9, 8, 2]
결과 :
인덱스별 요소가 리스트의 요소와 일치합니다

코드 설명

  • 정수로 이루어진 두 개의 리스트를 정의하고 콘솔에 출력합니다.

  • sort() 메서드를 사용해 두 리스트를 오름차순으로 정렬한 뒤 다시 출력합니다.

  • 비교 기준이 되는 또 다른 정수 리스트(check_list)를 정의하고 출력합니다.

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

  • enumerate 함수를 사용해 첫 번째 리스트를 순회하면서 두 리스트의 같은 인덱스에 있는 요소들을 비교합니다.

  • 인덱스 위치의 요소가 서로 다르고, 해당 요소가 check_list에 존재한다면 불리언 값을 False로 설정합니다.

  • 조건이 충족되면 break 문으로 반복문을 즉시 종료하여 불필요한 연산을 줄입니다.

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

참고 사항

enumerate 대신 zip() 함수를 사용해 두 리스트를 동시에 순회하는 방법도 있으며, 리스트 컴프리헨션과 all() 함수를 조합하면 더욱 간결하게 표현할 수 있습니다. 예를 들어 all(a == b for a, b in zip(my_list_1, my_list_2))처럼 작성하면 한 줄로 전체 일치 여부를 판단할 수 있습니다.