본문 바로가기

programming language/python

Python - collections

파이썬의 컬렉션이란?


하나의 변수에 여러가지 값을 저장할 수 있는 것을 컬렉션이라고 한다. 컬렉션의 종류에는 list, dictionary, tuple 등이 있으며 오늘은 이 3가지를 알아볼 것이다.

list


리스트는 [] 대괄호 형식으로 선언할 수 있으며 list()함수를 이용해서 선언가능하다. 리스트 안에 문자열을 하나씩 넣고 이를 변경 추가 삭제가 가능하다.
리스트는 n개의 값을 갖고 있으면 순서대로 0~n-1까지의 순서를 갖고 이를 인덱스라고한다.

for i in [5, 4, 3, 2, 1] :   # 출력 5 4 3 2 1
    print(i)

in 연산자를 이용해 리스트의 값을 인덱스 0부터 하나씩 받아올 수 있다.
이외에도 정렬해주는 sort(), 리스트의 길이를 알려주는 len(), :를 이용한 리스트 구분, 0부터 n-1까지 숫자리스트를 반환하는 range()함수 등이 있다.

dictionary


딕셔너리는 리스트와 비슷하지만 차이점이 분명하다. 리스트는 인덱스값을 갖는데 반해 딕셔너리는 인덱스 값이 없고 키와 값으로만 이루어져 값을 얻어낼수 있다. java에서는 map과 haspmap과 비슷하다. 딕셔너리는 dict() 또는 {} 중괄호 형식으로 선언할 수 있다.

선언

ddd = dict() or ddd = {}
ddd['age'] = 21
print(ddd)

get 함수

딕셔너리를 사용할 때 자주 사용하는 get이라는 메소드가 있다. get 메소드는 딕셔너리에 key값이 존재하면 value값을 리턴하고 key값이 없으면 기본값을 리턴한다. 딕셔너리에 key값이 없는 것을 호출하면 오류가 나는 데 이를 방지하기 위한 좋은 함수이다.

딕셔너리.get(key값, 기본값) 

키와 값 목록 검색

list(딕셔너리) # key값을 무작위로 리스트에 저장한다.
딕셔너리.keys() # key값을 무작위로 리스트에 저장한다.
딕셔너리.values() # value값을 무작위로 리스트에 저장한다.
딕셔너리.items() # key와 value 값을 튜플형태로 리스트에 저장한다.

tuple


튜플은 리스트와 마찬가지로 0으로 시작하는 인덱스를 가진다. 그러나 리스트는 변경 수정 추가가 가능한 데에 반해 튜플은 저장된 내용을 변경 수정 추가가 불가능하다. 튜플은 tuple() 또는 () 소괄호 형식으로 선언할 수 있다.

튜플과 리스트 사용 시기

튜플은 수정을 하지 않게 저장하여 리스트와 비교해 메모리 사용량과 성능에서 효과적이다. 따라서 임시적인 변수를 선언 하여 사용할때는 리스트보다 튜플을 사용하는 것이 효과적이다.

선언

(x, y) = (4, 'kkk')
print(y)            # kkk
a, b = 99, 98
print(a)            # 99

튜플과 딕셔너리 활용

d = dict()
d['korean'] = '안녕하세요'
d['American] = 'Hello'
for k, v in d.items():
    print(k, v)       
=====================================
Korean 안녕하세요
American Hello

튜플의 비교

튜플은 첫번째 요소를 먼저 비교하고 첫번째 요소가 같으면 그 다음 번째 요소를 비교한다.
sorted 함수를 사용하면 리스트안의 튜플을 정렬할 수 있다.

'programming language > python' 카테고리의 다른 글

python - 문자열  (0) 2022.08.04
python - PEP8  (0) 2022.07.24
python - function (in PY4E)  (0) 2022.07.20