Python Iterable 타입 - Dictionary, Set

2854 단어 pythonpython

Dictionary

{key : value} 형식으로 표현
내부족으로 hash 값으로 저장
순서가 존재하지 않으므로 인덱스가 없음

a = dict()
a['name'] = '가나다'
a['age'] = 20
a['addr'] = '서울시'
print(a) # {'name': '가나다', 'age': 20, 'addr': '서울시'}

추가, 수정, 삭제

# 추가
a = {1:'a'}
a[2] = 'b'
a # {1: 'a', 2: 'b'}
a['name'] = 'pey'
a # {1: 'a', 2: 'b', 'name': 'pey'}
a[3] = [1,2,3]
a # {1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}

# 수정
a = {1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}
a[3][1] = 'c'
a # {1: 'a', 2: 'b', 'name': 'pey', 3: [1, 'c', 3]}

# 삭제
a = {1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}
del a['name']
a # {1: 'a', 2: 'b', 3: [1, 2, 3]}

Dictionary 함수

keys

key 리스트

a = {'name': '가나다', 'age': 20, 'addr': '서울시'}
a.keys() # dict_keys(['name', 'age', 'addr'])

dict_keys 객체는 리스트와 비슷하지만,
append, insert, pop, remove, sort 함수 사용 불가

list(a.keys())

이렇게 하면 리스트가 된다.

values

value 리스트 만들기
keys와 마찬가지다.

items

Key:Value 얻기

a = {'name': '가나다', 'age': 20, 'addr': '서울시'}
a.items() # dict_items([('name', '가나다'), ('age', 20), ('addr', '서울시')])

clear

Key:Value 모두 지우기

a = {'name': '가나다', 'age': 20, 'addr': '서울시'}
a.clear()
a # {}

get

Key로 Value 구하기

a = {'name': '가나다', 'age': 20, 'addr': '서울시'}
a.get('age') # 20
a.get('house') # None

딕셔너리에 없는 값을 가져오기 위해 앞자리에 Key에 해당되지 않는 것, 뒷자리에 디폴트 값을 적는다.

a.get('없음', 'good') # good

in

해당 Key가 Dictionary 안에 있는지 확인

a = {'name': '가나다', 'age': 20, 'addr': '서울시'}
'name' in a # True
'email' in a # False

Set

교집합, 합집합, 차집합

중복을 허용하지 않음
순서가 없음(indexing하려면 list나 tuple로 변환 후 가능)

s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

# 교집합
s1 & s2 # {4, 5, 6}
s1.intersection(s2) # {4, 5, 6}

#합집합
s1 | s2 # {1, 2, 3, 4, 5, 6, 7, 8, 9}
s1.union(s2) # {1, 2, 3, 4, 5, 6, 7, 8, 9}

#차집합
s1 - s2 # {1, 2, 3}
s1.difference(s2) # {1, 2, 3}

Set 함수

add

추가

s = set([1, 2, 3])
s.add(4)
s # {1, 2, 3, 4}

update

추가

s1 = set([1, 2, 3])
s1.update([4, 5, 6])
s1 # {1, 2, 3, 4, 5, 6}

remove

제거

s1 = set([1, 2, 3])
s1.remove(2)
s1 # {1, 3}

Dictionary와 Set의 차이

Dictionary - key, value. value만 변경 가능.
Set - key. 가변 리스트

좋은 웹페이지 즐겨찾기