리스트 자료형이란?
'모음' 이다
리스트명 = [요소1,요소2,요소3, ···]
>>>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[0]
1
파이썬은 숫자를 0부터 센다
>>>a[0] +a[2]
4
>>>a = [1,2,3, ['a', 'b', 'c']]
>>>a[0]
1
>>>a[-1]
['a', 'b', 'c']
>>>a[3]
['a', 'b', 'c']
여기서 리스트 a에 포함된 ['a', 'b', 'c']라는 리스트에서
'a'라는 값을 인덱싱해 뽑으려고 한다면
>>>a[-1][0]
'a'
※삼중리스트에서 인덱싱하려면 3번해야함!
리스트의 슬라이싱
>>>a= [1, 2, 3, 4, 5]
>>>a[0:2]
[1, 2]
중첩된 리스트의 슬라이싱
>>>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]
※초보자가 범하기 쉬운 리스트 연산오류
>>>a= [1, 2, 3]
>>>a[2] + "hi" (x)
정수와 문자열은 더할수가 없다.
굳이 3hi 를 만들고 싶다면 숫자3을 문자 3으로 바꿔야 한다.
>>>str(a[2]) + "hi'
3hi
str()은 정수나 실수를 문자열 형태로 바꿔주는 내장함수.
리스트의 수정, 변경과 삭제
1. 리스트에서 하나의 값 수정하기
>>>a = [1, 2, 3]
>>>a[2] = 4
>>>a
[1, 2, 4]
2. 리스트에서 연속된 범위의 값 수정하기
위에것 이어서 보면
>>>a[1:2]
[2]
>>>a[1:2] = ['a', 'b', 'c']
>>>a
[1, 'a', 'b', 'c', 4]
★리스트를 수정할 때 주의할 점
>>>a = [1, 2, 4] 에서 a[1] 과 a[1:2] 는 수정할때 같아보이지만 다르다.
a[1] 의 결과값은 [1, ['a', 'b', 'c'], 4] 이기때문이다.
3. []사용해 리스트 요소 삭제하기
위에것 이어서 보면
>>>a[1:3] = []
>>>a
[1, 'c', 4]
4. del 함수 사용해 리스트 요소 삭제하기
>>>a
[1, 'c', 4]
>>>del a[1]
>>>a
[1, 4]
del a[x]는 x번재 요소값을 삭제한다.
del a[x:y]는 x번째부터 y번째 요소사이의 값을 삭제한다.
리스트 관련 함수들
문자열과 마찬가지로 변수명 뒤에 '.'를 붙여서 사용
★리스트에 요소 추가(append)
>>>a = [1, 2, 3]
>>>a.append(4)
>>>a
[1, 2, 3, 4]
>>>a.append([5, 6])
>>>a
[1, 2, 3, 4,[5, 6]]
append(x)는 리스트의 맨 마지막에 x를 추가시키는 함수
★리스트 정렬(sort)
>>>a = [1, 4, 3, 2]
>>>a.sort()
>>>a
[1, 2, 3, 4]
☆알파벳도 가능
a.sort( reverse = True) → 내림차순 정렬
sorted(a) → a값은 안바꾸고 출력물만 보고싶을때
sorted(a, reverse=True) → a값은 안바꾸고 내림차순된 출력물만 보고싶을때
★리스트 뒤집기(reverse)
>>>a = ['a', 'c', 'b']
>>>a.reverse()
>>>a
['b', 'c', 'a']
★위치 반환(index)
>>>a = [1, 2, 3]
>>>a.index(3) ←3은 리스트 a의 세 번째 (a[2])요소
2
>>>a.index(1) ←1은 리스트 a의 첫 번째 (a[0])요소
0
index(x) 함수는 리스트에 x라는 값이 있으면 x의 위치값을 리턴
★리스트에 요소 삽입(insert)
>>>a= [1, 2, 3]
>>>a.insert(2,5)
[1, 2, 5, 3]
insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수
★리스트 요소 제거(remove)
>>>a = [1, 2, 3, 1, 2, 3]
>>>a.remove(3)
[1, 2, 1, 2, 3]
remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수
remove(3)을 한 번 더 실행하면 다시 3이 삭제된다.
★리스트 요소 끄집어내기(pop)
>>>a= [1, 2, 3]
>>>a.pop()
3
>>>a
[1, 2]
pop()은 리스트의 맨 마지막 요소를 돌려 주고 그 요소는 삭제하는 함수
>>>a= [1, 2, 3]
>>>a.pop(1)
2
>>>a
[1, 3]
pop(x)는 리스트의 x번째 요소를 돌려 주고 그 요소는 삭제하는 함수
★리스트에 포함된 요소 x의 개수세기(count)
>>>a= [1, 2, 3, 1]
>>>a.count(1)
2
count(x)는 리스트 내에 x가 몇 개 있는지 조사하여 그 개수를 돌려주는 함수
★리스트 확장(extend)
>>>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]
extend(x) 에서 x에는 리스트만 올수 있고 원래의 리스트에 x 리스트를 더하게됨
'파이썬 복습' 카테고리의 다른 글
3/19 딕셔너리 자료형 (0) | 2018.03.19 |
---|---|
3/18 튜플 자료형 (0) | 2018.03.18 |
3/15 고급 문자열 포매팅 (0) | 2018.03.15 |
3/15 문자열 포매팅 (0) | 2018.03.15 |
3/15 문자열 인덱싱과 슬라이싱 (0) | 2018.03.15 |