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

Python – 리스트 요소를 인접한 가장 큰 이웃 값으로 교체하기

리스트의 각 요소를 자신의 양쪽 이웃 중 더 큰 값으로 교체해야 하는 경우, 간단한 반복문과 if, else 조건문을 활용하면 손쉽게 해결할 수 있습니다.

예제

아래는 해당 기능을 구현한 예시입니다.

my_list = [41, 25, 24, 45, 86, 37, 18, 99]

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

for index in range(1, len(my_list) - 1):

   my_list[index] = my_list[index - 1] if my_list[index - 1] > my_list[index + 1] else my_list[index + 1]

print("The resultant list is :")
print(my_list)

출력 결과

The list is :
[41, 25, 24, 45, 86, 37, 18, 99]
The resultant list is :
[41, 41, 45, 86, 86, 86, 99, 99]

코드 설명

  • 정수로 구성된 리스트를 정의한 뒤 콘솔에 출력합니다.

  • 리스트를 순회하며 각 요소의 인덱스에 접근합니다. 이때 첫 번째와 마지막 요소는 이웃이 한쪽뿐이므로 비교 대상에서 제외되고 원래 값이 그대로 유지됩니다.

  • 현재 인덱스를 기준으로 왼쪽 이웃(이전 인덱스)이 오른쪽 이웃(다음 인덱스)보다 크면 왼쪽 값을, 그렇지 않으면 오른쪽 값을 현재 위치에 대입합니다.

  • 모든 요소가 교체된 최종 리스트를 콘솔에 출력합니다.