728x90
리스트 자료형의 정의
- 리스트 자료형이란 여러 개의 데이터를 연속적으로 담아 처리하기 위해 사용하는 자료형이다.
- 사용자 입장에서 c나 자바에서의 배열(Array)의 기능 및 연결 리스트와 유사한 기능을 지원하며 C++의 STL vector와 기능적으로 유사하다.
- 리스트 대신에 배열 혹은 테이블이라고 부르기도 한다.
7 | 1 | 5 | 3 | 2 | 6 | 5 |
리스트 초기화
- 리스트는 대괄호([ ])안에 원소를 넣어 초기화하며, 쉼표(,)로 원소를 구분한다.
- 비어 있는 리스트를 선언하고자 할 때는 list() 혹은 간단히 []를 이용할 수 있다.
- 리스트의 원소에 접근할 때는 인덱스(Index) 값을 괄호에 넣는다.
☆ 인덱스는 0부터 시작한다.
리스트의 인덱싱과 슬라이싱
- 인덱스 값을 입력하여 리스트의 특정한 원소에 접근하는 것을 인덱싱(Indexing)이라고 한다.
- 파이썬의 인덱스 값은 양의 정수와 음의 정수를 모두 사용할 수 있다.
- 음의 정수를 넣으면 원소를 거꾸로 탐색하게 된다.
- 리스트에서 연속적인 위치를 갖는 원소들을 가져와야 할 때는 슬라이싱(Slicing)을 이용한다.
- 대괄호 안에 콜론(:)을 넣어서 시작 인덱스와 끝 인덱스를 설정할 수 있다.
☆ 끝 인덱스는 실제 인덱스보다 1을 더 크게 설정한다.
리스트 컴프리헨션
- 리스트를 초기화하는 방법 중 하나로 대괄호 안에 조건문과 반복문을 적용하여 리스트를 초기화할 수 있다.
- 리스트 컴프리헨션은 2차원 리스트를 초기화할 때 효과적으로 사용될 수 있다.
- 특히 N x M 크기의 2차원 리스트를 한 번에 초기화해야 할 때 매우 유용하다.
ex) array = [[0] * m for _ in range(n)] - 만약 2차원 리스트를 초기화할 때 다음과 같이 작성하면 예기치 않은 결과가 나타날 수 있다.
- bad_ex) array = [[0] * m] * n
위의 코드는 전체 리스트 안에 포함된 각 리스트가 모두 같은 객체로 인식된다.
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
0 | 0 | 0 |
0 | 5 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
0 | 5 | 0 |
0 | 5 | 0 |
0 | 5 | 0 |
0 | 5 | 0 |
언더바는 언제 사용하나요?
파이썬에서는 반복을 수행하되 반복을 위한 변수의 값을 무시하고자 할 때 언더바(_)를 자주 사용한다.
ex_1) 1부터 9까지의 자연수를 더하기
summary = 0
for i in range(1, 10) :
summary += i
print(summary)
ex_2) "Hello World"를 5번 출력하기
for _ in range(5) :
print("Hello Wrold")
리스트 관련 기타 메서드
함수명 | 사용법 | 설명 | 시간 복잡도 |
append | 변수명.append() | 리스트에 원소를 하나 삽입할 때 사용한다 | O(1) |
sort() | 변수명.sort() | 기본 정렬 기능으로 오름차순으로 정렬한다. | O(NlogN) |
변수명.sort(reverse = True) | 내림차순으로 정렬한다. | ||
reverse() | 변수명.reverse() | 리스트의 원소의 순서를 모두 뒤집어 놓는다. | O(N) |
insert() | insert(삽입할 위치 인덱스, 삽입할 값) | 특정한 인덱스 위치에 원소를 삽입할 때 사용한다. | O(N) |
count() | 변수명.count(특정 값) | 리스트에서 특정한 값을 가지는 데이터의 개수를 셀 때 사용한다. | O(N) |
remove() | 변수명.remove(특정 값) | 특정한 값을 갖는 원소를 제거하는데, 값을 가진 원소가 여러 개면 하나만 제거한다. | O(N) |
만약 리스트에서 특정 값을 가지는 원소를 모두 제거하고 싶다면?
< 해당 글은 유튜버 '동빈나'님의 영상을 토대로 공부하여 작성함을 알립니다. >
728x90
'Test > 코딩테스트' 카테고리의 다른 글
6. 파이썬 - 조건문 (0) | 2022.03.16 |
---|---|
5. 파이썬 - 기본 입출력 (0) | 2022.03.15 |
4. 파이썬 - 사전, 집합 자료형 (0) | 2022.03.14 |
3. 파이썬 - 문자열, 튜플 자료형 (0) | 2022.03.13 |
1. 파이썬 - 수 자료형 (0) | 2022.03.11 |