Py 리스트 삽입 - sonkoni/Koni-Wiki GitHub Wiki

append : 요소 하나 추가
extend : 리스트 연결하여 확장
insert : 특정 인덱스에 요소 추가
  insert(0, 요소) : 0 번 인덱스에 끼워넣기
  insert(len(a), 요소) : a리스트 제일 마지막에 끼워넣기
slice(시작:미만)
  범위 지정이므로 스텝은 사용할 수 없다.
  시작과 미만이 같으면 제거하지 않고 그 자리게 삽입한다.

리스트 끝에 객체 추가하기

a = [10, 20, 30]
a.append(500)
print(a, "길이: ", len(a))
#>>> [10, 20, 30, 500] 길이:  4

리스트 안에 리스트 끼워넣기

a.append([1000, 2000])   # append 는 객체를 그대로 끼워넣는다.
print(a, "길이: ", len(a))
#>>> [10, 20, 30, 500, [1000, 2000]] 길이:  5

리스트 확장하기

b = [10, 20, 30]
b.extend([1000, 2000])	 # extend 는 이터레이터를 하나씩 끼워넣는다.
print(b, "길이: ", len(b))
#>>> [10, 20, 30, 1000, 2000] 길이:  5

리스트 특정 인덱스에 요소 추가하기

c = [10, 20, 30]
c.insert(1, 500)	  # insert 는 특정 인덱스에 넣는다. 기존 인덱스는 뒤로 밀린다.
print(c, "길이: ", len(c))
#>>> [10, 500, 20, 30] 길이:  4

c.insert(1, [70, 80])
print(c, "길이: ", len(c)) # insert 도 객체를 그대로 끼워넣는다.
#>>> [10, [70, 80], 500, 20, 30] 길이:  5

c.insert(len(c), 1000)
print(c, "길이: ", len(c))
#>>> [10, [70, 80], 500, 20, 30, 1000] 길이:  6

슬라이스로 끼워넣기

# 슬라이스는 기본적으로 시작이상부터 끝미만의 범위를 제거한 후 시작 인덱스에 끼워넣는다.
k = [1, 2, 3, 4, 5, 6, 7, 8, 9]
k[1:2] = [11, 22]
print(k)
#>>> [1, 11, 22, 3, 4, 5]
#        ------

# 그러나 시작이상 과 끝미만 범위를 같게 하면 
# 해당 범위를 제거하지 않고 시작 인덱스에 요소 하나하나를 끼워넣는다.
# 기존 인덱스의 자료는 하나씩 밀린다.
t = [1, 2, 3, 4, 5, 6, 7, 8, 9]
t[1:1] = [11, 22]
print(t)
#>>> [1, 11, 22, 2, 3, 4, 5, 6, 7, 8, 9]
#        ------