append()
append(x)는 리스트의 끝에 하나의 요소 x를 추가한다. 즉 리스트의 길이가 1씩 증가한다.
a=[1, 2, 3]
a.append(4)
a.append(5)
print(a) # 출력: [1, 2, 3, 4, 5]
+ (리스트 병합)
+ 연산자는 두 리스트를 합쳐서 새로운 리스트를 반환한다. 즉 기존 리스트가 변경되는 것이 아니라 새로운 리스트를 만들어서 c에 재할당한다.
a=[1, 2, 3]
a=a+[4]
a=a+[5]
print(a) # 출력: [1, 2, 3, 4, 5]
근데~~~~~~~~~~~~
만약에 아래와 같이 두 리스트를 각각 append()와 + 연산자를 사용한다면 어떤 결과가 나올까
a=[1, 2, 3]
b=[4, 5]
a=a+b
print(a) # 출력: [1, 2, 3, 4, 5]
a.append(b)
print(a) # 출력: [1, 2, 3, [4, 5]]
+ 연산자로 리스트를 병합했을 경우엔 [1, 2, 3, 4, 5] 처럼 출력될 것이고
append()를 사용했을 경우엔 [1, 2, 3, [4, 5]] 처럼 출력될 것이다.
왜냐하면 + 연산자는 리스트의 요소가 개별적으로 추가되지만
append()는 [4, 5]가 하나의 요소로 추가되기 때문이다.
따라서 여러 개의 요소를 추가하고 싶다면 + 를 사용해야 한다.
+++++) + 연산자와 같은 기능을 하는 extend()가 있다.
extend()는 + 연산자와 다르게 새로운 리스트를 만들지 않고 기존 리스트에 직접 추가한다.
따아서 + 연산자보다 메모리 사용량이 줄어들고 성능이 더 좋다.
'알고리즘(파이썬)' 카테고리의 다른 글
| 스도쿠 검증 (0) | 2025.02.15 |
|---|---|
| 연속된 부분 수열의 합 (투 포인터 기법 사용) (0) | 2025.02.12 |
| 자바와 다른 파이썬 (1) | 2025.02.11 |
| 회문 문자열 (0) | 2025.02.11 |
| 소수 찾기 & 숫자 뒤집기 (0) | 2025.02.11 |