Programming/Python
1-2 리스트 요소추가, 비파괴적 파괴적 함수
midnightcoder
2022. 8. 2. 14:36
리스트에 요소 추가하는 함수
1) append()함수 : 리스트 맨뒤에 추가
>>> a = [1,2,3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
2) insert()함수 : 특정 위치에 값 추가
// insert(추가할 index, 추가할 value)
>>> a.insert(1,1)
>>> a
[1, 1, 2, 3, 4]
3) extend() 함수 : 여러개의 요소 추가
// extend(iterable) --> iterable 반복될 수 있는 요소로 list같은것들.
>>> a.extend([10,10,10])
>>> a
[1, 1, 2, 3, 4, 10, 10, 10]
비파괴적 함수 및 파괴적 함수
>>> a = "hello"
>>> a
'hello'
>>> a.upper()
'HELLO'
>>> a
'hello'
위와 같이 a 변수의 값은 upper()라는 함수에 의해서 변경되지 않았다 (원래의 값을 유지)
즉, upper()는 비파괴적 함수
하지만, list 요소 추가하는 함수들은 대부분 파괴적 함수
>>> a = [1,2,3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
위와 같이 a 변수에 값 자체를 [1,2,3,]에서 [1,2,3,4]로 바꿔버림 : 파괴적함수
함수를 실행하기 전과 후의 값이 그대로 : 비파괴적 함수
함수를 실행하기 전과 후의 값이 변경됨 : 파괴적함수
리스트에 요소를 추가할때 변수의 원본값을 유지하는 방법 중 하나로
아래와 같은 연산자로 값을 추가하면 됨
>>> a = [1,2,3,4]
>>> b = a + [5]
>>> a
[1, 2, 3, 4]
>>> b
[1, 2, 3, 4, 5]