Python에서 목록 유형의 목록(배열)에 요소를 추가하거나 다른 목록을 결합하려면 목록 메서드 append(), extend() 및 insert()를 사용합니다. + 연산자나 슬라이스를 사용하여 위치를 지정하고 할당할 수도 있습니다.
다음 정보가 여기에 제공됩니다.
- 끝에 요소 추가:
append()
- 끝에 다른 목록 또는 튜플 병합(연결):
extend()
,+
운영자 - 지정된 위치에 요소를 추가(삽입)합니다.:
insert()
- 지정된 위치에 다른 목록 또는 튜플 추가(삽입):일부분
끝에 요소 추가:append()
목록의 append() 메서드를 사용하여 마지막(마지막)에 요소를 추가할 수 있습니다. 상단과 같이 끝이 아닌 다른 위치에 추가하고 싶다면 아래와 같이 insert()를 사용한다.
l = list(range(3))
print(l)
# [0, 1, 2]
l.append(100)
print(l)
# [0, 1, 2, 100]
l.append('new')
print(l)
# [0, 1, 2, 100, 'new']
목록도 단일 요소로 추가됩니다. 그들은 결합되지 않습니다.
l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]
끝에 다른 목록 또는 튜플 병합(연결):extend(),+운영자
목록 메서드 extend()를 사용하면 끝(끝)에서 다른 목록이나 튜플을 결합할 수 있습니다. 모든 요소는 원래 목록의 끝에 추가됩니다.
l = list(range(3))
print(l)
# [0, 1, 2]
l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]
l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]
각 문자(요소)는 한 번에 한 문자씩 문자열에 추가됩니다.
l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']
확장() 메서드 대신 + 연산자를 사용하여 연결할 수도 있습니다.
+ 연산자를 사용하면 새 목록이 반환됩니다.+=
이렇게 하면 기존 목록에 추가할 수도 있습니다.
l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]
l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]
지정된 위치에 요소를 추가(삽입)합니다.:insert()
list 메소드 insert()는 지정된 위치에 요소를 추가(삽입)할 수 있습니다.
첫 번째 인수는 위치를 지정하고 두 번째 인수는 삽입할 요소를 지정합니다. 첫 번째(초기) 위치는 0입니다. 음수 값의 경우 -1은 마지막(최종) 위치입니다.
l = list(range(3))
print(l)
# [0, 1, 2]
l.insert(0, 100)
print(l)
# [100, 0, 1, 2]
l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]
append()와 마찬가지로 목록은 단일 요소로 추가됩니다. 병합되지 않습니다.
l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]
insert()는 다음과 같은 비용이 필요하기 때문에 효율적인 작업이 아닙니다. 다양한 목록 작업의 계산 복잡성에 대해서는 공식 위키의 다음 페이지를 참조하십시오.O(n)
O(1)
deque 유형은 표준 라이브러리 컬렉션 모듈에서 이 비용으로 요소를 맨 위에 추가하는 유형으로 제공됩니다. 예를 들어 데이터를 큐(FIFO)로 취급하려면 deque를 사용하는 것이 더 효율적입니다.
지정된 위치에 다른 목록 또는 튜플 추가(삽입):일부분
슬라이스로 범위를 지정하고 다른 목록이나 튜플을 할당하면 모든 요소가 추가(삽입)됩니다.
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]
원래 요소를 바꿀 수도 있습니다. 지정된 범위의 모든 요소가 대체됩니다.
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]