[기초]파이썬 리스트의 함수들
파이썬(python) 언어에서 리스트 자료형에는 기본으로 제공하는 함수들이 있다.
append, extend, clear 등등 여러 함수들을 기본적으로 제공해주어 편리하게 사용할 수 있다
append()
s = [1, 2, 3]
s.append(4)
print(s)
s.append([5,6])
print(s)
append() 함수는 리스트의 끝에 주어진 데이터를 추가하는 함수다. 위의 코드를 실행하면 실행결과는 아래와 같다.
[1, 2, 3, 4]
[1, 2, 3, 4, [5, 6]]
extend()
s = [1, 2, 3]
s.extend([4])
print(s)
s.extend([5,6])
print(s)
extend() 함수는 리스트의 끝에 인자로 주어진 리스트 내용 전부를 추가하는 함수다. 위의 코드를 살펴보면 앞서 append() 함수를 설명할 때 사용한 코드와 거의 비슷함을 알 수 있다. 차이점을 보자면 4라는 숫자를 이어붙일 때 그냥 숫자 하나만 넣은 append() 함수와 달리 extend() 함수에서는 리스트 형식으로 주어졌다. 실행결과에서도 차이점을 보인다.
[1, 2, 3, 4]
[1, 2, 3, 4, 5, 6]
4만 추가했을 때는 같다. 하지만 5와 6을 추가했을 때는 리스트에 깔끔하게 들어간 것을 볼 수 있다. 아까 extend() 함수를 설명할 때 인자로 주어진 리스트 내용 "전부"를 추가하는 함수라고 언급했었다. append() 함수는 한 개의 데이터만 추가하는 함수다. 그래서 리스트 [5, 6]을 한 개의 데이터로 인식해 결국 [1 ,2, 3, 4, [5, 6]] 이라는 결과를 만들었다. 하지만 extend() 함수는 리스트 [5, 6]을 복수개의 데이터로 인식해 5와 6을 따로따로 넣은 것이다.
clear()
s = [1, 2, 3, 4, 5, 6]
s.clear()
print(s)
clear() 함수는 이름 그대로 리스트의 내용물 전부를 삭제하는 함수다. 위의 함수를 실행하면 아래와 같이 빈 리스트만 출력이 된다.
[]
insert()
s = [1, 2, 3, 4, 5, 6]
s.insert(0, 99)
print(s)
s.insert(5, 99)
print(s)
insert() 함수는 특이하게 2개의 인자가 주어진다. 원형을 insert(i, x)라고 했을 때 리스트의 인덱스 i에 x를 저장하는 함수다.
s.insert(0, 99)는 첫번째 인덱스(원래 1이 있던 자리)에 99라는 값을 넣으라는 명령어다. 그렇다면 1은 어디로 갈까? 밑의 실행결과를 보자
[99, 1, 2, 3, 4, 5, 6]
원래 인덱스 0에 위치하고 있던 1을 포함해 모든 값들이 1자리씩 뒤로 밀려났음을 확인할 수 있다.
이 실행결과를 통해 insert() 함수는 기존의 데이터를 덮어씌우는 것이 아닌 자리를 비집고 들어가 저장하는 함수임을 알 수 있다. 그렇다면 s.insert(5, 99) 명령의 실행결과는 어떨까?
[99, 1, 2, 3, 4, 5, 6] 에서 인덱스 5는 현재 5가 위치한 자리니깐 [99, 1, 2, 3, 4, 99, 5, 6]가 될 것으로 예상해볼 수 있고 이는 정답이다!
pop()
s = [1, 2, 3, 4, 5, 6]
print(s.pop(0)) #print(s.pop(0))은 print(1)과 같다.
print(s)
pop() 함수의 원형은 s.pop(i)이다. 인덱스 i에 위치한 값(s[i])을 반환 및 삭제하는 함수다. (스택에서 사용하는 그 pop이다!)
인덱스 0에 위치한 값(위의 코드에서는 1을 의미한다)을 리턴하고 삭제하는 pop() 함수. 그렇기에 이를 print() 안에 넣으면 1을 출력할 것이다. 그리고 1이 삭제된 리스트를 다시 출력해보면 1이 사라졌을 것이다. 그리고 이를 아래의 실행결과에서 확인할 수 있따!
1
[2, 3, 4, 5, 6]
remove()
s = [1, 5, 5, 4, 5, 6]
s.remove(5)
print(s)
remove() 함수의 원형은 remove(x)다. 리스트에서 제일 앞에 위치한 x 하나를 삭제하는 함수다.
위의 코드 결과를 예상해보면 가장 먼저 등장하는 5는 인덱스 1에 위치해있다. 이를 출력하면 [1, 5, 4, 5, 6]일 것이다. 그리고 이는 아래의 실행결과와 똑같다!
[1, 5, 4, 5, 6]
count()
s = [1, 5, 5, 4, 5, 6]
print( s.count(5) ) # == print(3)
count() 함수는 인자로 주어진 값이 리스트에 몇 번 등장하나를 반환하는 함수다. 그래서 위에서는 5가 리스트 s에 총 3번 등장하니 3이 출력된다. (실행결과 생략)
index()
s = [1, 2, 3, 5, 5, 6]
print( s.index(5) ) # == print(3)
index(x) 함수는 리스트에 처음 등장하는 x의 인덱스 값을 반환하는 함수다. 위의 코드에서 5가 가장 먼저 등장하는 곳은 인덱스 3번이다. 그렇기에 index() 함수의 반환값을 출력해보면 3이 출력됨을 확인할 수 있다. (실행결과 생략)
댓글
이 글 공유하기
다른 글
-
Python venv 가상환경 VScode 인식 못함
Python venv 가상환경 VScode 인식 못함
2021.02.12 -
[기초]파이썬 문자열의 함수들
[기초]파이썬 문자열의 함수들
2020.09.05 -
파이썬 난리법석 간단 정리(변수, 함수, 반복, 데이터형) - Private
파이썬 난리법석 간단 정리(변수, 함수, 반복, 데이터형) - Private
2020.09.03