관리 메뉴

IT journey

Python-자료형(사전형,집합) 본문

개인공부공간/Python

Python-자료형(사전형,집합)

step 2021. 5. 24. 15:57
728x90
반응형

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요:)

딕셔너리(사전형)

빈 딕셔너리 만들기

dic={} #key:value 가 없는 딕셔너리

기본적인 딕셔너리 모습

{Key1:Value1, Key2:Value2, Key3:Value3,...}

Key에는 변하지 않는 값을 사용하고 Value에는 변하지 않는 값 모두 사용할 수 있습니다.

그렇다면 Key와 Value에 어떤 자료형이 들어갈까요?

지금까지 배웠던 자료형을 다시 살펴보면서 생각해보는 시간을 가져봅시다.😊

2021.05.21 - [개인공부공간/Python] - Python - 자료형 (숫자형,문자열,불린형)

 

Python - 자료형 (숫자형,문자열,불린형)

직접 내용 정리한 내용이니 퍼가실 때는 출처 부탁드려요 :) 형변환 데이터의 형태를 변환합니다. str(데이터) : 문자열로 변환합니다. int(데이터) : 정수로 변환합니다. float(데이터) : 실수로 변

step-journey.tistory.com

2021.05.22 - [개인공부공간/Python] - Python-자료형(리스트,튜플)

 

Python-자료형(리스트,튜플)

직접 내용 정리한 내용이니 퍼가실 때는 출처 부탁드려요 :) 리스트 정의 여러 개의 데이터를 한 번에 보관할 수 있는 자료형을 '리스트'라고 합니다. 빈 리스트를 만드는 방법 list1 = [] #리스트를

step-journey.tistory.com

Key에는 고유한 값이고 변경될 수 없는 자료형이니 정수, 문자열, 실수, 튜플이 사용됩니다. 

아주 만약 중복이 된다면 하나만 적용되고 나머지가 제외됩니다.

Value에는 모든 자료형이 들어가고 중복 데이터를 허용합니다.

 

dic={'name':'둘리','age':'15','birth':'0422'}

위의 예에서의 Key는 'name','age','birth'이고 그에 해당하는 Value는 '둘리','26','0422'입니다.

 

인덱싱과 슬라이싱을 지원안합니다.

 

딕셔너리 추가,수정,삭제하기

추가하기

dic={'name':'둘리','age':'15','birth':'0422'}
dic['gender']='man'
dic

수정하기

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
dic['name']='길동'
dic

삭제하기

dic={'name': '길동', 'age': '15', 'birth': '0422', 'gender': 'man'}
del dic['name'] #특정 요소만 삭제 가능
dic
del dic #전부도 삭제 가능

 

key사용해서 value 가져오기

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
dic['name'] #dic.get('name') 같은 의미

#dic['name']과 dic.get('name')의 차이점이 있다면 
#딕셔너리에 없는 키를 부르게 되면 
#dic['name']는 key 오류를 발생시키게 되고
#dic.get('name')는 None을 리턴해줍니다.

 

내장함수

keys()

key값을 따로 뽑아주는 함수입니다.

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
dic.keys()

values()

value값을 따로 뽑아주는 함수입니다.

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
dic.keys()

items()

key와 value 가져오는 함수입니다.

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
dic.items()

clear()

key와 value 모두 삭제하는 함수입니다.

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
dic.clear()
dic #빈 딕셔너리만 남음

len()

딕셔너리의 항목의 개수 구하는 함수입니다.

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
len(dic)

pop()

value값을 가져온 후 딕셔너리에서 항목을 제거합니다.

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
dic.pop('name') #key를 부르지 않으면 에러
dic

popitem()

딕셔너리에서 마지막 항목을 제거된 것이 나온후 딕셔너리에서 항목을 제거합니다.

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
dic.popitem()
dic

setdefault()

키와 쌍을 추가하는 함수입니다.

dic={'name':'둘리','age':'15','birth':'0422'}
#키만 지정하면 None값을 저장
dic.setdefault('phone')
dic

#키와 쌍을 지정
dic.setdefault('gender','man')
dic

update()

Key의 값을 수정하거나 Key와 Value를 추가하는 함수입니다.

dic={'name':'둘리','age':'15','birth':'0422'}
#update : Key의 값 수정
dic.update(age=35)
dic

#update Key와 Value 추가도 가능
dic.update(gender='man', phone='01012345678')
dic

멤버 연산자

이 내용은 Python-자료형(리스트,튜플)글에서 작성해 놓았습니다. 맨 아래에 이전 글을 달아놓을테니 참고부탁드립니다. 

dic={'name':'둘리','age':'15','birth':'0422','gender': 'man'}
'age' in dic
'phone' not in dic

리스트와 튜플로 딕셔너리 만들기

keys=['1','2','3','4']
a=dict.fromkeys(keys)
a
b=dict.fromkeys(keys,'a')
b

딕셔너리 포매팅

dic={'name':'둘리','age':'15'}
f'나의 이름은 {dic["name"]}입니다.나이는 {dic["age"]}살입니다'

 


집합 (Set)

자료형 'set'키워드를 사용하면 집합이 됩니다.

#빈 집합 만들기
a=set()
type(a)

S=set(['step','journey','tistory'])
S

#중복이 허용되지 않는지 확인해보는 예
S=set(['step','journey','tistory','step'])
S

특징

- 중복을 허용하지 않습니다.

중복을 제거하기 위한 필터로 사용되기도 합니다.

- 순서가 없습니다.

(참고사항)

순서가 있는 자료형은 리스트, 튜플입니다. 

순서가 없는 자료형은 집합, 딕셔너리입니다.

이 때 순서가 있는 자료형들은 인덱싱이나 슬라이싱을 지원하지만, 순서가 없는 자료형은 인덱싱이나 슬라이싱을 지원하지 않으므로 리스트와 튜플로 변환시킨 뒤 인덱싱이나 슬라이싱을 접근해주어야 합니다.

S=set(['step','journey','tistory'])
ls=tuple(S)
ls[2]

 

교집합(A∩B)

집합A와 집합B의 공통된 원소들을 모아놓은 집합을 말합니다.

 

A=set(['step','journey','tistory'])
B=set(['journey','trip','okay'])
A&B #A.intersection(B)와 같은 의미

 

 

 

 

 

합집합(A∪B)

집합A와 집합B의 모든 원소를 합친 집합을 말합니다.

A=set(['step','journey','tistory'])
B=set(['journey','trip','okay'])
A|B # A.union(B) 같은 의미

 

 

 

 

 

차집합

차집합 A-B의 의미 : 집합 A의 원소이지만 집합 B에 속하지 않는 원소들로 이루어진 집합을 말합니다.

참고로 아래 나와있는 벤다이어그램은 차집합 A-B에 대한 것입니다.

A=set(['step','journey','tistory'])
B=set(['journey','trip','okay'])
A-B #A.difference(B)와 같은 의미이지만, 연산 순서에 따라서 데이터가 달라집니다.

#차집합 B-A의 의미 
#집합 B의 원소이지만 집합 A에 속하지 않는 원소들로 이루어진 집합을 말합니다.
B.difference(A) #B-A와 같은 의미

 

대칭 차집합(A△B)

A 집합과 B 집합 두 개의 집합이 한 집합에는 속하지만 두 집합 모두에는 속하지 않는 원소들의 집합입니다.

A=set(['step','journey','tistory'])
B=set(['journey','trip','okay'])
A^B

 

 

부분집합(B⊆A)

아래 나온 벤다이어그램으로 설명하자면 B는 A의 부분집합이라고 합니다.

A=set(['step','journey','tistory','okay'])
B=set(['journey','step','okay'])
B.issubset(A) #True 나 False를 반환합니다.

  

 

 

내장함수

add()

집합에서 값 1개 추가하는 함수

A=set(['step','journey','tistory'])
A.add('tip')
A

update()

집합에서 값 여러개 추가하는 함수

A=set(['step','journey','tistory'])
A.update(['okay','trip'])
A

remove()

집합에서 값을 삭제하는 함수

A=set(['step','journey','tistory','tip','okay'])
A.remove('tip') #값이 없는 경우면 KeyError가 나옵니다.
A

discard()

집합에서 값을 삭제하는 함수

A=set(['step','journey','tistory','tip','okay'])
A.discard('ok') #없어도 에러 발생하지 않습니다.
A
A.discard('okay') 
A

len()

길이를 알려주는 함수

S=set(['step','journey','tistory'])
len(S)

clear()

집합에서 모든 항목을 제거하는 함수

S=set(['step','journey','tistory'])
S.clear()
S

isdisjoint()

두 집합이 공통 원소를 갖고 있지 않으면 Ture 아니면 False를 반환해주는 함수입니다.

A=set(['step','journey','tistory','okay'])
B=set(['journey','step','okay'])
A.isdisjoint(B) #공통 원소를 갖지 않으면 True 아니면 False

difference_update()

차집합을 만들어 원본 데이터를 수정하는 함수입니다.

A=set(['step','journey','tistory','okay'])
B=set(['journey','step','okay'])
B.difference_update('tistory')
B

 

 

이전 발행 글

Python-자료형(리스트,튜플)

 

Python-자료형(리스트,튜플)

직접 내용 정리한 내용이니 퍼가실 때는 출처 부탁드려요 :) 리스트 정의 여러 개의 데이터를 한 번에 보관할 수 있는 자료형을 '리스트'라고 합니다. 빈 리스트를 만드는 방법 list1 = [] #리스트를

step-journey.tistory.com

Python - 자료형 (숫자형,문자열,불린형)

 

Python - 자료형 (숫자형,문자열,불린형)

직접 내용 정리한 내용이니 퍼가실 때는 출처 부탁드려요 :) 형변환 데이터의 형태를 변환합니다. str(데이터) : 문자열로 변환합니다. int(데이터) : 정수로 변환합니다. float(데이터) : 실수로 변

step-journey.tistory.com

Python - 내장함수 1편

 

Python - 내장함수 1편

직접 내용 정리한 내용이니 퍼가실 때는 출처 부탁드려요 :) 1. print()함수 화면에서 데이터를 출력할 때 사용하는 함수 (1) print()함수 사용한 예 1) , 를 사용했을 시에는 띄어쓰기로 출력합니다. pr

step-journey.tistory.com

 

728x90
반응형

'개인공부공간 > Python' 카테고리의 다른 글

Python-함수  (17) 2021.05.26
Python - 제어문  (10) 2021.05.25
Python-자료형(리스트,튜플)  (0) 2021.05.22
Python - 자료형 (숫자형,문자열,불린형)  (10) 2021.05.21
Python - 내장함수 1편  (4) 2021.05.20
Comments