프로그래밍언어/Python

파이썬 - 자료구조(셋,딕셔너리)

멍토 2020. 1. 22.

셋 기본 연산

기호 함수 예제
& intersection() 교집합 set1 & set2 , set1.intersection(set2)
| union() 합집합 set1 | set2 , set1.union(set2)
- difference() 차집합 set1 - set2 , set1.difference(set2)

셋 항목추가

함수 예제
add() 항목추가 set1.add(값)
update() 항목추가 set1.update({4, 5, 6}) #여러개의 항목을 집어넣음

셋 항목 제거

함수 예제
remove() 입력값 제거 set1.remove(9) #9의 값을 제거
pop() 첫번째 항목제거 set1.pop()
clear() 모든객체 제거 set1.clear() # {}은 딕셔너리의 리터럴이기때문에 비어있는 셋은 set()으로 표시

셋 항목 확인

명령어 예제
값 in 셋객체 있는지 확인 3 in set1 =>3이 들어있나 확인
값 not in 셋객체 없는지 확인 3 not in set1 => 3이 없는지 확인
issuperset() a가 b를 전부 포함하는지 set1.issuperset(set2)
issubset() a가 b에 전부 포함되는지 set1.issubset(set2)

셋 내포 기능

set1 = {item for item in data_set}
set2 = {item for item in data_set if item % 2 == 1}
set3 = {x * y for x in data_set1 if x%2 == 1
                 for y in data_set1 if y%2 == 0}

딕셔너리 생성

dict(홍길동 = 20, 이순신 = 45, 강감찬 = 35) # 이런식으로도 생성가능

딕셔너리 항목 접근

주의사항 : 존재하지 않는 키로 접근하면 프로그램이 중지된다.

객체[키값]으로 접근하면 값을 얻어올 수 있다.


딕셔너리 항목추가

객체[중복되지 않은 키] = 값
객체.update({"신사임당": 50, "유관순": 16}) # 여러항목을 추가할 수 있음

딕셔너리 항목변경

객체[키] = 값 #중복된 키값으로 입력시 값이 변경된다.
객체.update({키 : 값, 키1 : 값1}) #키가 동일할때 기존 항목이 변경된다. 

딕셔너리 항목 제거

del 객체이름[키] # 없을때 실행하면 키에러 예외발생
객체이름.pop(키) #팝 함수를 호출해 데이터 삭제, 없을때 실행하면 에러발생
객체이름.clear() #모든 항목이 삭제되며, {}빈 딕셔너리 객체 출력

딕셔너리 항목 확인

"홍길동" in data_dict1 # 홍길동 항목이 딕셔너리에 있는지확인
"홍길동" not in data_dict1 # 홍길동 항목이 딕셔너리에 있는지확인

딕셔너리 내포

set1 = {item for item in data_dic1.items()}  #딕셔너리로 내포하면 셋이 만들어짐
data_dict2 = {key: data_dict1[key] for key in data_dict1} #딕셔너리가 만들어짐
data_dict3 = { key : data_dict1[key] for key in data_dict1.keys() }
data_dict4 = { items[0] : items[1] for item in data_dict1.items() }
data_dict5 = { key : value for key, value in data_dict1.items() }

 

'프로그래밍언어 > Python' 카테고리의 다른 글

파이썬의 특징과 장단점  (0) 2020.08.13
파이썬 - 문자열  (0) 2020.01.23
파이썬 - 모듈과 패키지  (0) 2020.01.20
파이썬 - 예외처리  (0) 2020.01.19
파이썬 - 내장함수  (0) 2020.01.18

댓글

💲 광고입니다.