[python] list 요소 입력

엄마제똥먹어·2022년 11월 29일
0

append( ), extend( ), insert( ) 함수 비교

세 개의 함수 모두 요소를 추가할 수 있는 함수이다. 그런데 추가하는 방식에는 차이가 있다. 그 차이를 아래에서 비교 정리해본다.

  1. append( )
  2. extend( )
  3. insert( )
  4. 세 개의 함수 비교 정리

1.append

array.append(x) 형태로 사용한다.

append는 덧붙인다는 뜻으로 괄호( ) 안에 값을 입력하면 새로운 요소를 array 맨 끝에 객체로 추가한다. 요소를 추가할 때는 객체로 추가하게 되는데, 입력한 값이 리스트와 같은 반복 가능한 iterable 자료형이더라도 객체로 저장한다. 사용 예시는 아래와 같다.


nums = [1, 2, 3]
nums.append(4)
[1, 2, 3, 4]

nums.append([5, 6])
[1, 2, 3, 4, [5, 6]] # 리스트가 하나의 객체로 추가되었음

append 함수를 사용해서 array의 맨 끝에 요소로 추가되었다. 두 번째 예시의 경우 [5, 6]이라는 리스트를 추가하였는데 각 값이 5, 6의 요소로 추가되는 것이 아니라 [5, 6]이라는 리스트 형태가 그대로 요소로 추가된 것을 볼 수 있다.

2. extend

array.extend(iterable) 형태로 사용한다. 입력한 iterable 자료형의 항목 각각을 array의 끝에 하나씩 추가한다. append와 동일하게 요소를 array의 끝에 추가하지만 append와 다른 점은 괄호( ) 안에는 iterable 자료형만 올 수 있다는 것이다. iterable 자료형이 아닌 경우 TypeError가 발생한다. 사용 예시는 아래와 같다.


nums = [1, 2, 3]
nums.extend([4, 5])
[1, 2, 3, 4, 5]  #리스트로 주어진 [4, 5]의 요소가 각각 추가 되었음

a = [10]
nums.extend(a) 
[1, 2, 3, 4, 5, 10]

3. insert

array.insert(i, x) 형태로 사용한다. array의 원하는 위치 i 앞에 추가할 값 x를 삽입할 수 있다. i는 위치를 나타내는 인덱스를 숫자를 입력한다. 음수를 입력하면 배열의 끝을 기준으로 처리된다. 추가할 값 x는 객체로 추가되며 iterable 자료형이더라도 객체로 저장된다. 사용 예시는 아래와 같다.


nums = [1, 2, 3]
nums.insert(0, [10, 20])  # 0번째(맨앞에) 추가
[[10, 20], 1, 2, 3]

nums.insert(-1, 100)  # 끝에서 1번째 전에 추가
print(nums)
[[10, 20], 1, 2, 100, 3]  # 리스트 맨 끝에 저장되지 않음

array의 끝에 추가하고 싶은 경우 array의 요소 개수가 적으면 하나하나 셀 수도 있지만 요소가 많은 경우 len( ) 함수를 이용할 수 있다. 위에서 생성한 nums 변수에 대해서 맨 마지막에 요소를 추가하는 경우는 아래 코드에서 작성해보았다.

nums = [1, 2, 3]
nums.insert(len(nums), 100)
[1, 2, 3, 100]

비교

1) append 함수

arry.append(x) 형태로 사용한다. x를 arry의 맨 끝에 객체로 추가다. x가 iterable 자료형이더라도 전체를 하나의 객체로 해서 요소로 추가한다.

2) extend 함수

array.extend(iterable) 형태로 사용한다. iterable의 각 요소를 하나씩 array의 끝에 요소로 추가한다. append 함수와 다른 점은 괄호 안에 iterable 자료형만 올 수 있다.

3) insert 함수

array.insert(i, x) 형태로 사용한다. 원하는 위치 i에 x를 삽입할 수 있다. 값 x는 객체로 추가된다. append 함수와 마찬가지로 iterable 자료형이더라도 하나의 요소로 삽입된다.

.
.
.
.
.
.
.
.
.

0개의 댓글