AI부트캠프

Collection 자료형(list, dict, tuple, set)

YUM 2021. 5. 9. 23:38

python에서 자주 사용하는 collection 자료형 정리

 


List

순서 있음

중복 가능

수정 가능

 

 

선언

x_list = []
# x_list = list()

 

 

<buit-in functions>

len(x_list) # 리스트 길이 반환
max(x_list) # 최대 요소 반환
min(x_list) # 최소 요소 반환
list(x) # string,tuple 등 다른 자료형 데이터를 list로 변환

 

<methods>

 

추가

x_list.append(x) # x_list의 마지막에 요소(x) 추가
x_list.insert(i, x) # i(index) 위치에 요소(x) 추가
x_list.extend(y_list) # x_list의 뒤에 y_list의 요소들 추가

삭제

x_list.remove(x) # x 라는 값을 가진 첫번째 요소 삭제
del x_list[i] # index i 위치의 요소 제거
v = x_list.pop(i) # index i 위치의 요소 제거 및 반환

요소확인

x_i = x_list.index(x) # x라는 요소의 index 반환
y_num = x_list.count(y) # y라는 요소 개수 반환

정렬

x_list.sort(reverse=False) # 요소를 오름차순으로 정렬
x_list = sorted(x_list, reverse=False) # 요소를 오름차순으로 정렬하여 반환

 

 

Dictionary

순서 없음

중복 불가능

수정 가능

key-value 

 

선언

x_dict = {}
# x_dict = dict()

 

추가

x_dict[key] = value # key-value 쌍 생성

삭제

del x_dict[key] # key-value 쌍 삭제
x_dict.clear()

요소확인

x_dict.keys() # key값 반환
x_dict.values() # value값 반환
x_dict.items() #(key, value) tuple 형태 요소 가진 list 반환
x_dict.get(key) # 해당 key값의 value 반환
key in x_dict # 해당 key값이 x_dict이라는 dictionary에 있는지 확인

 

Tuple

순서 있음

중복 가능

수정 불가능

 

 

선언

t = (x, y, z)

 

응용

두 변수의 값을 쉽게 바꾸는 방법

a, b = b, a

양 변에 각각 튜플 (a, b)와 (b, a)가 생성되고, 각각의 값을 교환하는 과정이 일어난다.

 

 

Set

순서 없음

중복 불가능

수정 가능

 

 

선언

s = set()
s = set(x) # 다른 형태의 변수(list 등)을 x에 넣으면 set으로 변환
ex_set = {1, 2, 3, 4, 5}

추가

s.add(x) # 요소 x를 추가 (위치는 설정불가)
s.update([x, y, z]) # 여러데이터 한번에 추가할때 주로 사용, 중복 자동 제거

삭제

s.remove(x) # 요소 x 제거 (x가 없으면 key error 발생)
s.discard(x) # 요소 x 제거 (x 없어도 에러 발생하지 않음)

요소확인

x in s # set s에 x가 있는지 확인