이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.
문제 설명 − 목록이 주어지면 정렬 순서를 변경하지 않고 목록에 요소를 삽입해야 합니다.
아래에서 논의되는 두 가지 접근 방식이 있습니다-
접근법 1:무차별 대입 방식
예시
def insert(list_, n): # search for i in range(len(list_)): if list_[i] > n: index = i break # Insertion list_ = list_[:i] + [n] + list_[i:] return list_ # Driver function list_ = ['t','u','t','o','r'] n = 'e' print(insert(list_, n))
출력
['e', 't', 'u', 't', 'o', 'r']
접근법 2:bisect 모듈 사용
예시
#built-in bisect module import bisect def insert(list_, n): bisect.insort(list_, n) return list_ list_ = ['t','u','t','o','r'] n = 'e' print(insert(list_, n))
출력
['e', 't', 'u', 't', 'o', 'r']
모든 변수는 로컬 범위에서 선언되며 해당 참조는 위 그림과 같습니다.
결론
이 기사에서는 정렬된 목록에 요소를 삽입하는 방법에 대해 배웠습니다.