리스트 자료형이란?
ex) 1부터 10까지의 숫자 중 홀수 모음 1,3,4...9 의 집합을 생각해 보자. 이런 숫자모음을 숫자나 문자열로 표현하기는 쉽지 않다. 파이썬에서는 이러한 불편함을 해소할 수 있는 자료형이 존재한다.
- 리스트는 어떻게 만들고 사용할까?
리스트명 = [ 요소1, 요소2, 요소3, ... ]
위에서 보는 것과 같이 대괄호 ([])로 감싸 주고 각 요솟값은 쉼표(,)로 구분해준다.
odd = [ 1, 3, 5 ,9 ]
a= []
b= [1, 2, 3]
c= ['Life', 'is', 'too', 'short']
d= [1, 2, 'Life', 'is']
e= [1, 2, ['Life', 'is']]
- 리스트의 인덱싱과 슬라이싱
리스트도 문자열철럼 인덱싱과 슬라이싱이 가능하다.
- 리스트의 인덱싱
리스트 역시 문자열처럼 인덱싱을 적용 할 수 있다. 먼저 a변수에 [1,2,3]값을 설정한다.
a = [1,2,3]
a
[1,2,3]
a[0]은 리스트 a의 첫번째 요솟값을 말한다.
a=[1,2,3]
a[0]
1
a[0]+a[2]
4
a[0]과 a[2] 즉 1,3 의 값을 더한것이다. 값 4 출력이 된다.
파이썬은 숫자를 0부터 세기 때문에 a[-1]은 문자열에와 마찬가지로 리스트 a의 마지막 요솟값
a[-1]
3
ex)이중 리스트
a=[1,2,3,['a','b','b']]
a[0]
1
a[-1]
['a','b','c']
a[3]
['a','b','c']
'a'의 값을 인덱싱을 사용해 끄집어내기
a[-1][0]
'a'
a[-1]은 ['a','b','c']리스트에서 첫 번째 요소 불러오기 위해 [0]을 붙임.
(*삼중 리스트도 방법은 동일)
- 리스트의 슬라이싱
문자열과 마찬가지로 리스트에서도 슬라이싱 기법을 적용할 수 있다. 슬라이싱은 '나눈다'는 뜻이라고 했다.
a= [ 1,2,3,4,5]
a[0:2]
[1, 2]
a= [ 1,2,3,4,5]
b=a[:2] 처음부터 a[1]까지
c=a[2:] a[2]부터 마지막까지
b
[1, 2]
c
[3, 4, 5]
ex) 중첩된 리스트에서 슬라이싱하기
a= [1,2,3,['a','b','c'],4,5]
a[2:5]
[3, ['a', 'b', 'c'], 4]
a[3][:2]
['a', 'b']
리스트 연산하기
1. 리스트 더하기 (+)
a=[1,2,3]
b=[4,5,6]
a+b
[1, 2, 3, 4, 5, 6]
2. 리스트 반복하기 (*)
a=[1,2,3]
a*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
3. 리스트 길이 구하기
a=[1,2,3]
len(a)
3
- 리스트의 수정과 삭제
리스트에서 값 수정하기
a=[1,2,3]
a[2]=4
a
[1,2,4]
a[2]의 요솟값 3이 4로바뀌었다.
del 함수 사용해 리스트 요소 삭제하기
a = [1,2,3]
del a[1]
a
[1,3]
del a[x]는 x번째 요솟값을 삭제한다.
다음처럼 슬라이싱 기법을 사용하여 리스트의 요소 여러 개를 한꺼번에 삭제할 수도 있다.
a=[1,2,3,4,5]
del a[2:]
a
[1, 2]
-리스트 관련 함수
문자열과 마찬가지로 리스트 변수 이름 뒤에 '.'를 붙여서 여러가지 리스트 관련 함수를 사용.
리스트에 요소 추가 (append)
append 덧붙이다, 첨부하다 라는 뜻. ( 맨 마지막에 x를 추가하는 함수이다. )
a=[1,2,3]
a.append(4)
a
[1, 2, 3, 4]
리스트 안에는 어떤 자료형도 추가할 수 있다.
a.append([5,6])
a
[1, 2, 3, 4, [5, 6]]
리스트 정렬 ( sort )
sort 함수는 리스트의 요소를 순서대로 정렬해 준다.
a=[1,4,3,2]
a.sort()
a
[1, 2, 3, 4]
문자 역시 알파벳 순서로 정렬 가능
a=['a','c','b']
a.sort()
a
['a', 'b', 'c']
리스트 뒤집기 ( reverse )
reverse 함수는 리스트를 역순으로 뒤집어 준다.
a=['a','c','b']
a.reverse()
a
['b', 'c', 'a']
위치 반환 ( index )
index(x) 함수는 리스트에 x값이 있으면 x의 위치 값을 돌려준다.
a = [1,2,3]
a.index(3)
2
위 예에서 리스트 a에 있는 숫자 3의 위치는 a[2]이므로 2를 돌려주고, 숫자 1의 위치는 a[0]이므로 0을 돌려준다.
리스트에 요소 삽입 ( insert )
insert(a,b)는 리스트의 a번째 위치에 b를 삽입하는 함수이다. 파이썬에서는 숫자를 0부터 센다는 것을 반드시 기억하자.
a=[1,2,3]
a.insert(0,4)
a
[4, 1, 2, 3]
리스트 요소 제거 ( remove )
remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수이다.
a= [1, 2, 3, 1, 2, 3]
a.remove(3)
a
[1, 2, 1, 2, 3]
리스트 요소 끄집어내기 (pop)
pop()은 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제한다.
a=[1,2,3]
a.pop()
3
a
[1, 2]
pop(x)는 리스트의 x번째 요소를 돌려주고 그 요소는 삭제한다.
a = [1,2,3]
a.pop(1)
2
a
[1,3]
리스트에 포함된 요소 x의 개수 세기 (count)
count(x)는 리스트 안에 x가 몇 개 있는지 조사하여 그 개수를 돌려주는 함수이다.
a=[1,2,3,1]
a.count(1)
2
1이라는 값이 리스트 a에 2개 들어 있으므로 2를 돌려준다.
리스트 확장 (extend)
extend(x)에서 x에는 리스트만 올 수 있으며 원래의 a 리스트에 x 리스트를 더하게 된다.
a=[1,2,3]
a.extend([4,5])
a
[1, 2, 3, 4, 5]
b=[6,7]
a.extend(b)
a
[1, 2, 3, 4, 5, 6, 7]
출처 : "점프 투 파이썬"
'파이썬 기초' 카테고리의 다른 글
02- 5 딕셔너리 자료형 (0) | 2021.03.13 |
---|---|
02-4 튜플 자료형 (0) | 2021.03.13 |
02-2 문자열 연산하기 ~ 포매팅 - 3 (0) | 2021.03.09 |
02- 2 문자열 자료형 - 2 (0) | 2021.03.04 |
02-2 문자열 자료형 (0) | 2021.03.01 |