[Python] 자료형 - (3) 리스트
리스트는 길게 이어진 상자라고 생각하면 된다. 우리는 리스트 안에 숫자, 문자열, 새롭게 정의한 객체 등 다양한 자료형을 넣을 수 있는 상자이다.
리스트의 생성
a = []
b = list()
c = [1, 2, 3]
d = ["Hello", "World"]
e = [1, 2, "Hello", "World"]
f = [[1, 2], ["Hello", "World"]]
a
와 b
리스트는 빈 리스트를 생성해주는 것이다. e
리스트 처럼 상자마다 다른 자료형을 삽입할 수도 있고 f
리스트처럼 리스트를 삽입할 수도 있다.
리스트의 사용
리스트에 보관된 데이터를 어떻게 사용할 것인가
인덱싱
리스트 명[위치값]의 형태로 리스트 안의 원소에 접근이 가능하다. 이것을 인덱싱이라 한다. 리스트는 0번째 칸부터 저장이 되는 것을 주의해야 한다.
데이터 | 10 | 20 | 30 | 40 |
---|---|---|---|---|
인덱스 | 0 | 1 | 2 | 3 |
a = [10, 20, 30, 40]
print(a[0])
print(a[3])
print(a[-1])
print(a[4])
인덱스 값으로 음수값을 주면 뒤에서부터 원소를 접근한다. 리스트의 크기는 4이지만 리스트의 마지막 번호는 3이기 때문에 a[4]
를 사용하면 에러가 난다. 리스트의 범위를 벗어난 접근에 대한 에러다.
슬라이싱
리스트는 꼭 원소를 하나씩 접근할 필요가 없다. 내가 필요한 부분만 잘라서 리스트를 사용하고 싶을 때는 슬라이싱을 사용한다. 리스트를 토막낸다고 생각하면 된다.
기본적인 형태는 리스트 명[시작 인덱스: 끝나는 인덱스 + 1] 과 같이 사용된다. 시작 인덱스와 마지막 인덱스는 생략이 가능하고 그런 경우 끝에서 시작 또는 끝에서 끝남을 의미한다.
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
b = a[:5]
c = a[5:]
d = a[2:7]
print(a)
print(b)
print(c)
print(d)
사용을 할 때는 :
뒤의 값 전까지 슬라이싱을 하는 것을 명심해야 한다.
리스트의 연산
리스트 역시 문자열처럼 리스트끼리 더하기와 곱하기 연산이 가능하다.
a = ['a', 'b', 'c']
b = ['d', 'e', 'f']
print(a + b)
print(a * 3)
수정, 삭제
a = [1, 2, 3]
a[2] = 4
print(a)
리스트는 직접적으로 값을 바꿀 수 있는 mutable 자료형이다.
a = [1, 2, 3]
del a[1]
print(a)
del
함수는 파이썬의 기본 함수로 객체를 삭제하는 함수이다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 소수 판별 알고리즘 (0) | 2021.10.11 |
---|---|
[Python] 리스트 함수 정리 (0) | 2021.09.19 |
[Python] 자료형 - (2) 문자열 (0) | 2021.09.14 |
[Python] 자료형 - (1) 숫자형 (0) | 2021.09.14 |
[Python] 순열과 조합 itertools (0) | 2021.07.18 |