상세 컨텐츠

본문 제목

5. 파이썬 자료형 - 리스트(1) : 리스트 만들기, 인덱싱, 슬라이싱, 연산, 수정과 삭제

Python/Basic Grammar

by groomi 2022. 3. 18. 15:59

본문

3. 리스트(List)

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 함수를 이용하는 방법이 있는데, 이에 대해서는 다음 글에서 다룰 것이다. 

 

관련글 더보기

댓글 영역