파이썬3에서 배열에 아이템을 추가하는 메서드는 .append(), .extend(), .insert() 등이 있는데, 특징에 차이가 있으므로 그 차이를 잘 기억해두자.
1. append()
가장 일반적으로 쓰이는 메서드. 기존 배열의 뒤에 () 안의 아이템이 들어가게 된다.
a = ['a','b','c','d']
a.append('a')
a
>> ['a', 'b', 'c', 'd', 'a']
문제는 append() 안에 배열을 넣을 경우, 배열 째로 들어가게 된다.
a = ['a','b','c','d']
b = ['e','f']
a.append(b)
a
>> ['a', 'b', 'c', 'd', ['e', 'f']]
2. extend()
append() 대신 extend()를 쓰게 되면 배열 안의 각 아이템이 추가된다.
a = ['a','b','c','d']
b = ['e','f']
a.extend(b)
a
>> ['a', 'b', 'c', 'd', 'e', 'f']
3. insert()
insert()의 경우에는 () 안에 추가할 아이템만 오는 것이 아니라, 추가될 위치 Index를 넣어, 아이템을 어디에 추가할지 지정할 수 있다.
인덱스를 같이 넣어주지 않고, append()처럼 넣고 싶은 요소만 넣으면 타입에러가 발생한다.
a = ['a','b','c','d']
a.insert(0, b)
a
>> [['e', 'f'], 'a', 'b', 'c', 'd']
a = ['a','b','c','d']
b = ['e','f']
a.insert(b)
>>
----- TypeError Traceback (most recent call last) <ipython-input-65-5eddaffc4930> in <module>
----> 1 a.insert(b)
TypeError: insert expected 2 arguments, got 1
'Programming > Python' 카테고리의 다른 글
Q. 여러 개의 파이썬 파일로 구성된 프로그램을 exe 실행 파일로 만들기 - cx_Freeze 와 pyinstaller (1) | 2021.12.21 |
---|---|
배열의 index와 value를 전달해주는 enumerate() 함수 (0) | 2021.06.21 |
딕셔너리에서 value를 가지고 key 얻기 (0) | 2021.05.07 |
[AI class day11] 파이썬 넘파이 python numpy TIL (0) | 2021.05.04 |
filter() 리스트, 튜플 등에서 조건에 맞는 요소만 추려내는 내장함수 (0) | 2021.05.04 |