파이썬에서 리스트의 특정 위치에 요소를 삽입하려면 insert(pos, obj) 메서드를 사용하면 됩니다. 이 메서드는 하나의 객체를 인자로 받아, 해당 객체를 메서드가 호출된 리스트의 pos 위치에 추가합니다. 이미 그 자리에 있던 기존 요소들은 자동으로 한 칸씩 뒤로 밀려납니다.
예제
my_list = [2, 3, 1, -4, -1, -4] my_list.insert(1, 0) print(my_list)
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
[2, 0, 3, 1, -4, -1, -4]
위 예제에서 인덱스 1의 위치에 값 0이 삽입되고, 원래 있던 3부터 나머지 요소들이 뒤로 이동한 것을 확인할 수 있습니다. 참고로 insert()에는 음수 인덱스도 사용할 수 있으며, 리스트 길이보다 큰 인덱스를 지정하면 요소가 맨 끝에 추가됩니다.
맨 끝에만 추가한다면 append() 사용
삽입 위치가 항상 리스트의 맨 끝이라면, 굳이 insert()를 쓸 필요 없이 append() 메서드를 사용하는 것이 더 간결하고 효율적입니다. append() 역시 하나의 객체를 인자로 받아, 해당 객체를 메서드가 호출된 리스트의 가장 마지막에 추가합니다.
예제
my_list = [2, 3, 1, -4, -1, -4] my_list.append(0) print(my_list)
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
[2, 3, 1, -4, -1, -4, 0]
정리
- insert(pos, obj): 지정한 위치에 요소를 삽입하며, 기존 요소들은 뒤로 밀려납니다. 평균 시간 복잡도는 O(n)입니다.
- append(obj): 요소를 항상 맨 끝에 추가하며, 평균 시간 복잡도는 O(1)입니다.