3-1. 리스트란?
리스트는 어떠한 자료형도 포함시킬 수 있는 자료형이다.
리스트가 가지고 있는 자료들을 "요소"라고 한다.
리스트는 어떠한 자료형도 포함할 수 있다. "a"라는 문자열을 요솟값으로 가질 수도 있고, 123이라는 숫자형을 요솟값으로 가질 수도 있다. 뿐만 아니라 list 자체를 요솟값으로 가질 수도 있다. 그리고 다양한 자료형의 요소들을 한 리스트 안에 담는 것도 물론 가능하다.
아무런 요소도 포함하고 있지 않은 빈 리스트를 만들 수도 있다.
3-2. 리스트 만드는 방법
리스트를 만들 때는 만들고자 하는 리스트 이름과 그 리스트에 포함할 요소들이 뭔지를 생각하자.
그런 다음,
리스트명 = [요소1, 요소2, 요소3, ...]
이런 식으로 대괄호 안에 요솟값들을 쉼표로 구분해서 넣어준다.
3-3. 리스트 인덱싱
리스트를 인덱싱하는 방법은 문자열의 인덱싱과 비슷하다. (문자열의 인덱싱 : https://studying-cloud.tistory.com/9 )
문자열에서의 인덱스는 해당 문자열의 첫 번째 문자가 0부터 시작했다면, 리스트는 첫 번째 요소값이 0, 두 번째 요솟값이 1, .. 이런 식으로 인덱스를 가진다. -1은 뒤에서부터 첫 번째 요솟값을 나타내는 인덱스이다.
그렇다면, 리스트 안에 리스트가 포함되었을 때 내부의 리스트의 값을 인덱싱하고 싶다면 어떻게 할까?
위에서처럼 원하는 요소가 포함된 리스트를 인덱싱한 후 그 리스트에서 뽑을 요소를 한 번 더 인덱싱하면 된다.
이를 두 개의 대괄호로 한 번에 처리하는 것이다.
삼중 리스트에서는 세 개의 대괄호를 사용해주면 된다.
3-4. 리스트 슬라이싱
문자열에서와 마찬가지로 리스트에도 슬라이싱을 할 수 있다. (문자열의 슬라이싱 : https://studying-cloud.tistory.com/10 )
기본적인 방법은 문자열 슬라이싱과 완전히 동일하고, 리스트에서는 요솟값의 인덱스 범위를 특정하여 뽑아낸다는 점만 고려하면 된다.
[:2]처럼 첫 인덱스를 생략하면 처음부터 슬라이싱, [0:]처럼 마지막 인덱스를 생략하면 지정한 지점부터 끝까지 슬라이싱한다. 마지막 인덱스는 슬라이싱된 값에 포함되지 않는다. => 모두 문자열에서의 슬라이싱과 동일하다.
그리고 두 개 이상의 요소를 슬라이싱 하면 그 결과값은 위에서 볼 수 있듯이 리스트로 출력된다.
type 함수를 이용하여 자료형을 알아보면 list로 나온다.
3-5. 리스트 연산
- 리스트 더하기
+ 기호를 사용하여 두 리스트를 하나의 리스트로 합칠 수 있다.
- 리스트 반복하기
* 기호를 사용하여 리스트를 원하는만큼 반복한 새 리스트를 만들 수 있다.
- 리스트 길이 구하기
len 함수를 사용하면 리스트의 길이, 즉 리스트 안에 포함된 요소의 개수를 구할 수 있다.
len 함수는 이전에 문자열에서도 사용했었다. 튜플과 딕셔너리에도 사용할 수 있는 함수이니 잘 기억하기!
3-6. 리스트의 수정과 삭제
- 리스트에서 값 수정하기
리스트 안의 특정 요소의 값을 수정하고 싶을 때는 어떻게 해야할까?
원하는 값을 그 요소를 인덱싱한 값에 대입하면 된다. (대입은 항상 오른쪽의 값을 왼쪽에 대입하는 것)
- 리스트 요소 삭제하기
리스트 내의 특정 요소를 삭제하기 위해서는 del 함수를 사용해주면 된다.
사용법은 del 리스트명[x] 이고, 그 리스트의 x 인덱스값을 가지는 요소를 삭제한다.
(del 함수는 리스트뿐만 아니라 다른 자료형에서도 사용할 수 있는 파이썬이 자체적으로 가지고 있는 삭제 함수이며 사용법은 del 객체 이다. 리스트 요소 삭제를 할 때는 이 객체로서 특정 요소를 인덱싱하여 입력하는 것이다.)
슬라이싱 기법을 사용하면 여러 요소들을 한 번에 삭제할 수도 있다.
리스트 요소를 삭제하는 방법은 del 함수 외에도 remove와 pop 함수를 이용하는 방법이 있는데, 이에 대해서는 다음 글에서 다룰 것이다.
7. 파이썬 자료형 - 튜플 : 리스트와 다른 점, 인덱싱/슬라이싱/연산 (0) | 2022.03.21 |
---|---|
6. 파이썬 자료형 - 리스트(2) : 리스트 내장함수 (0) | 2022.03.18 |
4. 파이썬 자료형 - 문자열(3) : 문자열 내장함수 (0) | 2022.03.17 |
3. 파이썬 자료형 - 문자열(2) : 슬라이싱, 포매팅 (0) | 2022.03.16 |
2. 파이썬 자료형 - 문자열(1) : 문자열 만들기, 연산, 인덱싱 (0) | 2022.03.15 |
댓글 영역