[Python기초] 4. 리스트 세트 튜플
리스트
- 값의 나열
- 순서가 존재하며 여러종류의 값을 담을 수 있음
>>> colors = ['red', 'green', 'gold'] >>> colors ['red', 'green', 'gold'] >>> type(colors) <class 'list'>
리스트 관련 메소드
- append()
- 기존 리스트에 값을 추가할 때
>>> colors.append('blue') >>> colors ['red', 'green', 'gold', 'blue']
- 기존 리스트에 값을 추가할 때
- insert()
- 원하는 위치에 추가할 때
>>> colors.insert(1, 'black') >>> colors ['red', 'black', 'green', 'gold', 'blue']
- 원하는 위치에 추가할 때
- index()
- 특정 값의 위차를 확인 할 때
>>> colors.index('red') 0 >>> colors += ['red'] >>> colors ['red', 'black', 'green', 'gold', 'blue', 'white', 'gray', 'red'] >>> colors += 'red' >>> colors ['red', 'black', 'green', 'gold', 'blue', 'white', 'gray', 'red', 'r', 'e', 'd'] >>> colors.index('red', 1) 7
- 특정 값의 위차를 확인 할 때
- count()
- 현재 해당값의 개수를 반환할 때
- pop()
- 해당 값의 값을 뽑을 떄
>>> colors ['red', 'black', 'green', 'gold', 'blue', 'white', 'gray', 'red', 'r', 'e', 'd'] >>> colors.count('red') 2 >>> colors.pop() 'd' >>> colors.pop() 'e' >>> colors.pop(1) 'black' >>> colors ['red', 'green', 'gold', 'blue', 'white', 'gray', 'red', 'r']
- 해당 값의 값을 뽑을 떄
- remove()
- 특정 값을 삭제할 때
- sort()
- 정렬할 때
- reserve()
- 반대로 정렬할 때
>>> colors ['red', 'green', 'gold', 'blue', 'white', 'gray', 'red', 'r'] >>> colors.remove('gold') >>> colors ['red', 'green', 'blue', 'white', 'gray', 'red', 'r'] >>> colors.sort() >>> colors ['red', 'gray', 'green', 'r', 'red', 'red', 'white'] >>> colors.reverse() >>> colors ['white', 'red', 'red', 'r', 'green', 'grey', 'blue']
- 반대로 정렬할 때
세트
- 수학시간에 배운 집합과 유사한 형태
- 리스트와 마찬가지로 값의 모임이며 별도의 순서는 없음
- 중복을 허용하지 않음
>>> a = {1, 2, 3} >>> b = {3, 4, 5} >>> a set([1, 2, 3]) >>> b set([3, 4, 5]) >>> type(a) <class 'set'>
세트 관련 메소드
-
union(), - 합집합
>>> a.union(b) set([1, 2, 3, 4, 5]) >>> a | b set([1, 2, 3, 4, 5])
- 합집합
- intersaction(), &
- 교집합
>>> a.intersaction(b) set([3]) >>> a & b set([3])
- 교집합
- difference(), -
- 차집합
>>> a - b set([1, 2])
- 차집합
튜플
- 리스트와 유사
- 리스트와 달리 []대신, ()로 묶어 표현 읽기 전용
- 제공되는 메소드는 리스트에 비해 적지만 속도는 보다 빠름
>>> t = (1, 2, 3) >>> type(t) <class 'tuple'> >>> a, b = 1, 2 >>> print(a, b) (1, 2) >>> (a, b) = (1, 2) >>> print(a, b) (1, 2)
튜플이 자주 사용되는 경우
- 함수에서 하나 이상의 값을 리턴하는 경우
>>> def calc(a, b): return a+b, a*b >>> x,y = calc(5, 4)
- 함수에서 하나 이상의 값을 출력하는 경우
>>> print('id: %s, name: %s' % ('jun', '전우치')) id: jun, name: 전우치
- 튜플에 있는 값을 함수 인수로 사용하는 경우
>>> args = (4, 5) >>> calc(*args) (9, 20)
형변환
- 리스트, 세트, 튜플 간 형변환이 가능하다.
>>> a = set([1, 2, 3]) >>> a {1, 2, 3} >>> type(a) <class 'set'> >>> b = list(a) >>> b [1, 2, 3] >>> type(b) <class 'list'> >>> c = tuple(b) >>> c (1, 2, 3) >>> type(c) <class 'tuple'>