딕셔너리 자료형, 집합 자료형

마친자·2021년 7월 17일
0

파이썬 기초

목록 보기
3/8

딕셔너리

딕셔너리란?

대응관계를 나타내는 자료형, 사전
{key1: value1, key2:value2}

>>dic={'name':'홍길동', 'phone':'010111222', 'a':[1,2,3]}

1. 딕셔너리 쌍 추가, 삭제하기

딕셔너리 쌍 추가하기

>>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]}

2.딕셔너리를 사용하는 방법

딕셔너리에서 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

3.딕셔너리 관련 함수

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'}

집합 자료형의 특징

  1. 중복을 허용하지 않음
  2. 순서가 없다
    -> 인덱싱으로 값을 얻을 수 없다.(딕셔너리도 마찬가지임)

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! 점프 투 파이썬

profile
마루에 미친자

0개의 댓글

관련 채용 정보