대응관계를 나타내는 자료형, 사전
{key1: value1, key2:value2}>>dic={'name':'홍길동', 'phone':'010111222', 'a':[1,2,3]}
딕셔너리 쌍 추가하기
>>a={1:'a'} >>a[2]='b' >>a {1:'a', 2:'b'} >>a['name']=['pey'] >>a[3]=[1,2,3] >>a {1:'a', 2:'b', 'name':'pey', 3:[1,2,3]}
딕셔너리 요소 삭제하기
>>dela[1] >>a {2:'b', 'name':'pey', 3:[1,2,3]}
딕셔너리에서 key 사용해 Value 얻기: 딕셔너리 변수 이름[key]
>>a={1:'a', 2:'b', 'name':'pey', 3:[1,2,3]} >>a[1] 'a'
딕셔너리 만들때 주의사항
1) key는 고유한 값이기에 중복되는 key 값 설정해 놓으면 하나를 제외한 나머지를 무시>>a={1:'a', 1:'b'} >>a {1:'b'}
2)key값에는 리스트는 쓸수 없으나 튜플을 key사용 가능
>>a:{[1,2]:hi} Traceback
key 리스트 만들기
>>a={1:'a', 2:'b', 'name':'pey', 3:[1,2,3]} >>a.keys dict_keys([1,2,'name',3]) >>list(a.keys) [1,2,'name',3]
value 리스트 만들기
>>a.value() dict_values(['a','b','pey',[1,2,3])
key와 value 쌍 얻기
>>a.items() dict_items([(1,'a'), (2,'b'), ('name','pey'), (3,[1,2,3])])
key와 value 모두 지우기
>>a.clear() >>a {} #빈 딕셔너리 라는 뜻
key로 Value 얻기
>>a.get('name') 'pey' #a['name']와 동일한 값
get vs a[ ] : get는 없는 Keys 값을 가져오려고 하면 None이라고 뜨고 a[]는 traceback
get(x, 디폴트): Key 없는 경우 미리 정해 둔 디폴트 값을 대신 가져옴>>a.get('foo','bar') 'bar'
해당 key가 딕셔너리 안에 있는지 조사하기
>>'name' in a True >>'email' in a False
집합 자료형: 집합에 관련된 것을 쉽게 처리하기 위한 자료
>>s1= set([1,2,3]) >>s1 {1,2,3}
>>s2=set("Hello') >>s2 {'e','H','l','o'}
- 중복을 허용하지 않음
- 순서가 없다
-> 인덱싱으로 값을 얻을 수 없다.(딕셔너리도 마찬가지임)
set 자료형에 저장된 값을 인덱싱으로 접근하는 법: 리스트나 튜플로 변환
>>s1= set([1,2,3]) >>l1= list(s10 >>l1 [1,2,3] >>l1[0] 1
>>t1= tuple(s1) >>t1 (1,2,3) >>t1[0] 1
>>>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}
값1개 추가하기(add)
>>s1 = set([1,2,3]) >>s1.add(4) >>s1 {1,2,3,4}
값 여러개 추가하기
>>s1 = set([1,2,3]) >>s1.update([4,5,6]) >>s1 {1,2,3,4,5,6}
특정 값 제거하기
>>s1 = set([1,2,3]) >>s1.remove(2) >>s1 {1,2,3}
출처 Do it! 점프 투 파이썬