Python Iterable 타입 - Dictionary, Set
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. 가변 리스트
Author And Source
이 문제에 관하여(Python Iterable 타입 - Dictionary, Set), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@thsrns3934/Python-Iterable-타입-Dictionary-Set저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)