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

Python - 정렬된 리스트에 항목을 순서를 유지하며 삽입하는 방법

이 글에서는 정렬된 리스트에 새로운 항목을 삽입하면서 기존의 정렬 순서를 그대로 유지하는 방법을 알아보겠습니다. 파이썬에는 bisect라는 내장 모듈이 있어, 리스트의 적절한 위치에 요소를 손쉽게 삽입할 수 있습니다.

구현 단계

  • bisect 모듈을 임포트합니다.
  • 대상 리스트와 삽입할 요소를 초기화합니다.
  • bisect 모듈에는 요소를 리스트의 알맞은 위치에 자동으로 삽입해 주는 insort 메서드가 포함되어 있습니다. 이 메서드를 사용해 요소를 삽입합니다.
  • 결과 리스트를 출력합니다.

예제 코드

# 모듈 임포트
import bisect

# 리스트와 삽입할 요소 초기화
numbers = [10, 23, 27, 32]
element = 25

# bisect.insort(리스트, 요소)를 사용해 요소 삽입
bisect.insort(numbers, element)

# 리스트 출력
print(numbers)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

출력 결과

[10, 23, 25, 27, 32]

마무리

반복문으로 리스트를 하나씩 순회하며 삽입 위치를 직접 찾는 방법도 있지만, 이는 비효율적인 접근 방식입니다. 반면 insort 메서드는 내부적으로 이진 탐색(binary search)을 활용해 빠르게 올바른 위치를 찾아 삽입하기 때문에 훨씬 효율적으로 처리할 수 있습니다.