리스트 자료형
- 리스트는 대괄호안에 원소를 넣어 초기화하며, 쉼표(,)로 원소를 구분한다.
- 비어있는 리스트를 선언하고자 할 때는 list() 혹은 간단히 []를 이용한다.
a = [1,2,3]
print(a)
n = 10
x = [0] * n
print(x)
[1, 2, 3]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
리스트의 인덱싱과 슬라이싱
- 인덱스 값을 입력하여 리스트의 특정한 원소에 접근하는 것을 인덱싱이라고 한다.
- 음의 정수를 넣으면 원소를 거꾸로 탐색하게 된다.
- 리스트에서 연속적인 위치를 갖는 원소들을 가져와야 할 때는 슬라이싱을 이용한다.
- 대괄호 안에 콜론(:)을 넣어서 시작 인덱스와 끝 인덱스를 설정할 수 있다.
- 끝 인덱스는 실제 인덱스보다 1을 더 크게 설정한다.
a = [1,2,3,4,5]
print(a[2])
print(a[-2])
print(a[1:4])
3
4
[2, 3, 4]
리스트 컴프리헨션
- 리스트 초기화 방법 중 하나로 대괄호 안에 조건문과 반복문을 적용하여 리스트를 초기화 한다.
array = [i for i in range(20) if i % 2 ==1]
print(array)
array = [i * i for i in range(1,10)]
print(array)
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
리스트 컴프리헨션으로 2차원 리스트 초기화
n = 4
m = 3
array = [[0]* m for _ in range(n)]
print(array)
n = 4
m = 3
array = [[0]* m] * n
print(array)
array[1][1] = 5
print(array)
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 5, 0], [0, 5, 0], [0, 5, 0], [0, 5, 0]]
- 내부적인 리스트가 모두 같은 객체로 인식되기 때문이다.
리스트 관련 메서드
- append(): 리스트에 원소를 하나 삽입한다.
- sort(): 기본 정렬 기능으로 오름차순으로 정렬한다.
sort(reverse = True): 내림차순으로 정렬한다.
- reverse(): 리스트의 원소의 순서를 모두 뒤집어 놓는다.
- insert(인덱스,값): 특정한 인덱스 위치에 원소를 삽입한다.
- count(값): 리스트에서 특정값을 가지는 데이터의 개수를 셀 때 사용한다.
- remove(값): 리스트에서 특정값을 가진 원소를 제거하는데, 원소가 여러 개면 하나만 제거한다.