리스트 (list)란 특정 값들을 순서 있게 저장하는 자료형이다.
C와는 달리, 하나의 리스트 안에 숫자와 문자가 공존할 수 있더라.
앞서 배운 문자열처럼 리스트 또한 인덱싱과 슬라이싱을 할 수 있다.
하지만, 각각의 결과물에 대해 조심해야 할 필요가 있다.
1 | "Python",2,3,4,5] lst = [ |
위의 결과를 보면 특이한 점이 한 가지 보인다.
바로, 리스트를 인덱싱 한 결과값은 그 자리의 원소 (숫자)인 반면
리스트를 슬라이싱 한 결과값은 리스트로 반환되는 것이다!
리스트의 값을 수정하거나 삭제하고 싶은 경우가 있다.
문자열의 요소값을 바꿀수 없는 것과는 달리, 리스트의 값은 쉽게 바꿀 수 있다.
1 | 1,2,3,4,5] a=[ |
위의 예시를 보면 알겠지만, 리스트의 요소값을 삭제하고 싶은 경우 del 함수를 사용하여 정확히 인덱싱 한 부분을 삭제할 수 있다.
리스트 또한 문자열과 마찬가지로 변수명 뒤에 ‘.’을 붙여서 관련 함수들을 사용할 수 있다. 자주 쓰이는 함수 몇 가지만 알아보자.
요소 추가하기 (append)
.append(x)는 리스트의 맨 마지막에 x를 추가시키는 함수이다.1
2
3
4'apple', 'banana', 'cherry'] fruits = [
"orange") fruits.append(
print(fruits)
['apple', 'banana', 'cherry', 'orange']
append()를 사용할 경우 원본 data가 변형된다는 점에 주의해야 한다.
리스트 정렬하기 (sort)
.sort()는 리스트의 요소를 순서대로 정렬해 주는 함수이다.1
2
3
4
5
6
7
81, 4, 3, 2] a = [
a.sort()
print(a)
[1, 2, 3, 4]
True) a.sort(reverse=
print(a)
[4, 3, 2, 1]
문자가 요소인 리스트의 경우, 기본적으로 제일 첫 글자의 순서대로 정렬해 준다. key값을 지정해 줌으로써 정렬 기준을 바꿀 수 있다.
1 | # A function that returns the length of the value: |
리스트 순서 뒤집기 (reverse)
.reverse()는 리스트를 역순으로 뒤집는 함수이다.1
2
3
4'a', 'c', 'b'] a = [
a.reverse()
print(a)
['b', 'c', 'a']
요소 끄집어내기 (pop)
.pop(x)은 리스트의 x번째 요소를 반환하고 해당 요소는 리스트에서 삭제하는 함수이다.
주로 index로 요소를 찾고, 그 값을 반환하고 리스트에서 삭제를 원할 경우 사용한다.
index로 요소를 찾고 단순히 제거를 원할 경우 del을 사용하고,
index가 아닌 그 값으로 요소를 찾고 제거를 원할 경우 remove()를 사용한다.
후자의 경우 입력한 값이 리스트에 없는 경우 ValueError가 발생한다.
1 | 'apple', 'banana', 'cherry'] fruits = [ |
위에서 소개하지 않은 나머지 리스트와 관련된 함수들은 여기를 참고하면 된다.
특히 .append() 와 .pop() 은 자주 쓰이는 함수이다.
예를 들어 data stream을 append()를 이용해서 차례대로 받고, pop()을 통해서 제일 뒤부터 차례대로 뽑아서 처리하는 식으로 종종 사용한다.