학습내용
리스트(list)
리스트는 시퀸스 자료구조 중 하나로 객체들을 연결한 자료구조.
list = [1, 2, 3, 4, 5]
- 5개의 정수 객체를 원소로 가지고 있는 시퀸스이다.
- 0번째 인덱스 엘리먼트는 1, 1번째 인덱스 엘리먼트는 2, ···.
a = []
b = [1,2,3,4,5]
c = ['I','am','studying','Python']
d = [1,2,3,'studying','Python']
e = [1,2,3,['studying','Python']]
- 비어 있는 리스트를 만들 수 있다. (비어 있는 리스트는 a=list()로 생성할 수도 있다.)
- 리스트 안에는 어떠한 자료형(정수, 소수, 문자열, 리스트 등)도 포함이 가능하다.
- 형태가 다른 자료형을 함께 사용할 수 있다.
리스트의 인덱싱(Indexing)
문자열처럼 인덱싱을 사용할 수 있다.
a = [1,2,3.1,'I','am','studying','Python']
a[0] #1
a[0]+a[1] #3
a[0]+a[2] #4.1
a[4]+a[5] #amstudying
a[0]+a[4] #Error
- a[0]은 0번째 인덱스 엘리먼트인 '1'.
- 인덱싱을 활용해서 더하기가 가능하다. 정수 + 정수, 정수 + 소수, 문자열 + 문자열 등이 가능하다.
- 숫자(정수, 소수)와 문자열은 연산이 불가능하다.
#이중 리스트
a = [1,2,3,['a','b','c']]
a[-1] #['a', 'b', 'c']
a[3] #['a', 'b', 'c']
a[-1][0] #a
a[-1][1] #b
a[-1][2] #c
- 이중 리스트 a는 4개의 엘리먼트를 가지고 있다. (정수, 정수, 정수, 리스트)
- 리스트 안에 있는 리스트 값을 인덱싱 하고 싶을 때는 a[ ][ ] 대괄호를 두번 써주면 된다.
#삼중 리스트
a = [1,2,3,['a','b',['I','Python']]]
a[3] #['a', 'b', ['I', 'Python']]
a[3][2] #['I', 'Python']
a[3][2][1] #Python
- 삼중 리스트에서도 인덱싱을 활용할 수 있다.
리스트의 슬라이싱(Slicing)
문자열처럼 슬라이싱을 사용할 수 있다.
a = [1,2,3,4,5]
a[1:3] #[2,3]
a[2:] #[3, 4, 5]
a[:2] #[1, 2]
a[::2] #[1, 3, 5]
- 문자열에서 활용하던 슬라이싱을 그대로 사용할 수 있다.
#중첩된 리스트에서 슬랑이싱
a = [1,2,3,['a','b','c'],4,5]
a[2:5] #[3, ['a', 'b', 'c'], 4]
a[2:5][1] #['a', 'b', 'c']
a[3] #['a', 'b', 'c']
a[3][:2] #['a', 'b']
- 이중, 삼중 리스트에서도 슬라이싱이 가능하다.
리스트의 연산
a = [1,2,3]
b = [4,5,6]
c = ['Big', 'Data']
a+b+c #[1, 2, 3, 4, 5, 6, 'Big', 'Data']
a*b #Error
a*3 #[1, 2, 3, 1, 2, 3, 1, 2, 3]
a = [1,2,3]
a[2] + "hi" #Error
str(a[2]) + "hi" #3hi str을 사용해서 정수를 문자열로 변경해서 연산
- 리스트에서 (+)는 각 엘리먼트들이 하나의 리스트에 모이는 것.
- (*)의 경우 '반복하기'이다.
- 정수와 문자를 더하고 싶을 때 str을 사용해 정수를 문자열로 바꾼뒤 연산하면 가능.
#리스트 길이구하기
a = [1,2,3,4,5]
len(a) #5
- 길이를 구할 때 len 함수를 사용하지만, 이를 길이를 구한다기 보다 리스트 안의 총 요소(원소, 엘리먼트) 수를 구한다고 생각.
'파이썬 > Basics(기초)' 카테고리의 다른 글
[Python] 8. 튜플(tuple), 집합(set) (0) | 2021.10.03 |
---|---|
[Python] 7. 파이썬 리스트 함수, 수정과 삭제 (0) | 2021.09.27 |
[Python] 5. 파이썬 자료구조 기초 (0) | 2021.09.23 |
[Python] 4. 파이썬 문자열 함수 및 예제 (0) | 2021.09.22 |
[Python] 3. 파이썬 문자열 포맷팅, f문자열 포맷팅 (0) | 2021.09.22 |
댓글