본문 바로가기

AI Theory/key concept of AI

[파이썬으로 캐글뽀개기] 튜플과 딕셔너리, 집합(set)

튜플(tuple)

한번 선언시 값을 변경할 수 없음

1개의 요소를 갖는 튜플은 끝에 , 붙여야 함

객체 선언시 괄호 생략 가능

 

tuple = (0)
>>type: int

tuple = (0,)
>>type: tuple

tuple = 0,1,2
print: (0,1,2)
type: tuple

 

딕셔너리(dictionary)

key:value형태

 

딕셔너리 내 key값만 모아서 dict_keys 객체 반환, a.keys()

 

딕셔너리 내 value만 추출, a.values()

 

key:value를 투플로 만들어서 반환, a.items()

dict_items([(key, value), (key,value)...])

 

key값에 대응하는 value 반환, a.get("key이름")

존재하지 않는 key이름 입력시 none반환

get(key,"디폴트값")으로 지정도 가능

a = {"name":"chris", "job":"painter", "age":30}
a.get("name")
>>chris

a.get("dinner","empty")
>>empty

 

집합(set)

순서가 존재하지 않고, 중복 허용 안함

빈 집합: 중괄호, set 생성자 이용

비어있지 않은 경우: 중괄호만 사용해도 ok

s={}
type:dict

s=set()
type:set

s = {1,2,3]
type: set

 

연산자: 합집합(|), 교집합(&), 차집합(-), 대칭차집합(^)

합집합, a|b,  a.union(b)

a = {1,2,3}
b = {4,5,6}

c=a|b
a = a.union(b)
a
>>{1,2,3,4,5,6}

 

교집합, a&b, a.interaction(b)

a={1,2,3}
b={4,5,6}

c = a.interaction(b)
c=a&b
print(c)
>>set()

 

차집합, a-b, a.difference(b)

집합 a에서 b와의 중복값 제거

교환법칙X

a={1,2,3}
b={3,5,7}

c = a-b
c=a.difference(b)

>>{1,2}

 

대칭 차집합 연산, a^b, a.symmetric_difference(b)

합집합에서 교집합 부분 제외한 것

a = {1,2,3,4,5}
b = {3,4,5,6,7}

c = a^b
c = a.symmetric_difference(b)

>> {1,2,6,7}