[Python] Dictionary, set

AOD·2023년 12월 24일
0

Python

목록 보기
2/7
post-thumbnail

Dictionary

1. 딕셔너리 타입

  • key : value를 한 쌍으로 하는 자료형
  • 순서가 없어서, 키를 이용해 값에 바로 접근해야함
  • { 키 : 값 ,키 : 값 ,키 : 값 ,키 : 값 ,키 : 값 }

2. 빈 딕셔너리에 값 생성, 접근, 추가, 수정

(1) 딕셔너리 생성

  • 그냥 생성 ↔️ Dict = {key1 : value1, key2 : value2, key3 : value3}
  • 내장함수’dict’로 생성 ↔️ Dict = dict(key1 : value1, key2 : value2, key3 : value3)
  • dictionary comprehension ↔️ Dict = { i : i for i in range(숫자) }

(2) 딕셔너리 접근

  • value에 접근 ↔️ Dict[key]
  • value 에 접근 ↔️ Dict.valus() : 모든 값을 가져옴, 순회 가능
  • key에 접근 ↔️ Dict.keys() : 모든 키를 가져옴, 순회 가능
  • key, value에 동시에 접근 ↔️ Dict.items() : 모든 키와 값을 튜플형태의 한쌍으로 가져옴, 순회 가능

(3) 딕셔너리에 값 추가

Dict = {} : 빈 딕셔너리의 경우

  • 값 추가 ↔️Dict[key] = value
  • 리스트를 value로써 추가 가능 ↔️ Dict[key] = [1,2,3,4,5]
  • 내장함수 활용 ↔️ Dict.setdefault(key,value)

Dcit = {key1 : value1, key2 : value2} : 기존 키에 값 추가

  • 값 추가 ↔️ Dict[key1] += value3 : 원하는 key 에 값을 + 하면 value끼리 더해진다.
  • list필요 ↔️ Dict[kew1].append(value3) : 원하는 key의 값이 list형태여야하고 append를 통해서 값을 추가해준다.

(4) 딕셔너리 수정

Dcit = {key1 : value1, key2 : value2} : 딕셔너리 존재

  • 값 수정 ↔️ Dict[key1] = value3 : value1 이 value3로 변경됨

3. 딕셔너리 내장함수 활용

내장함수설명
dict(key1 : value1)딕셔너리로 만들어 주는 함수
Dict.setdefault(key, value)Dict[key] = value 있는데 굳이 왜 사용 할까??
value에 값을 넣지 않으면 None이 저장된다. 이 정도 차이 존재
Dict.get(key)Dict[key] = value 있는데 굳이 왜 사용 할까??
해당키가 없거나, 키에 값이 없을경우 None을 반환
Dict.get(key, 0)반환값이 None일 경우 None이 아니라 0으로 반환할 수 있다. 0 말고도 원하는 값으로 반환이 가능
Dict.pop(key)딕셔너리에서도 pop 사용가능
Dict.popitem딕셔널에서 가장 마지막에 추가된 요소 제거
del Dict[key]해당키 삭제

set

  • 집합과 관련된 것을 처리 하기 위해 만들어진 자료형
  • 중복된 요소를 제거해준다.

1. 요소를 다루는 내장함수

(1) set() ↔️ Set = set([1,2,3,4]) : set 자료형으로 변경하는 내장함수

(2) .add() ↔️ Set.add(요소) : 요소를 추가

(3) .update() ↔️ Set.update([요소1,요소2]) : 요소 여러개 추가

(4) .remove() ↔️ Set,remove(요소) : 요소 삭제, 데이터 없으면 error

(5) .discard() ↔️ Set,discard(요소) : 요소 삭제, 데이터 없어도 error X

(6) .pop() ↔️ Set.pop() : pop 사용가능

2. 집합을 표현하는 내장함수

(1) .intersection() ↔️ Set1.intersection(Set2) : 교집합을 구한다.

(2) .union() ↔️ Set1.union(Set2) : 합집합을 구한다.

(3) .difference() ↔️ Set1.difference(Set2) : 차집합을 구한다.

3. 집합여부를 True or False로 반환

(1) .isdisjoint() ↔️ Set1.isdisjoint(Set2) : 같은 항목이 하나도 없으면 True

(2) .issubset() ↔️ Set1.issubset(Set2) : Set1이 Set2의 하위 셋이면 True

profile
No end point for Growth. 2023.01.02 ~ SoftWare공부 시작

0개의 댓글

관련 채용 정보