프로그래밍/Python

[Python - 5 ] dict와 set

나무늘보Programmer 2024. 4. 1. 18:06

딕셔너리 : dict

딕셔너리란?

  • 시퀀스 데이터
  • dict는 여러 개의 값이 일렬로 정렬되면서도, 값끼리의 연관성이 존재
  • dict는 대괄호(’[]’)안에 숫자를 넣으면 인덱싱 대신 들어있는 값을 키로 인식해서 키를 찾음(인덱싱 안됨)
  • 값의 중복은 허락하나 키의 중복은 허락하지 않음
  • 이중, 3중으로도 사용 가능함

딕셔너리 생성 방법

변수명 = {키 : 값, 키 : 값 .....}
변수명 = dict(키=값, 키=값 ...)
  • 빈 딕셔너리 만들기
변수명 = {}
변수명 = dict()

zip 함수

  • 병렬처리를 도와줌
  • 사용법
    print(dict(zip(['1','2','3','4'], [10,20,30,40]))
    -> {'1':10,'2':20,'3':30,'4':40}
    #zip 안의 두개의 배열의 수는 꼭 맞추어 줘야 함

다양한 메소드

keys()

딕셔너리의 키 값만 가져옴

values()

딕셔너리의 값만 가져옴

items()

딕셔너리의 키와 값을 튜플로 감싸서 내보내줌

 

딕셔너리 값 조작하기

삭제하기

del 딕셔너리이름['키값']

변경하기

딕서녀리이름['키값'] = 값

추가하기

딕셔너리이름.update(추가할 딕셔너리)

 

집합 : set

Set이란?

  • 수학에서의 집합을 의미
  • 순서가 없음
  • 출력할 때와 선언할 때의 순서가 다르게 나옴
  • 값의 중복을 허락하지 않음(중요)
    • 중복된 값이 들어가도 중복된 값없이 하나만 나옴

set의 생성 방법

변수 = {값, 값, 값, 값, ....}
변수 = set()

set데이터 추가, 삭제, 변경

추가

변수.add('값') #값이 하나의 요소로 들어감
변수.update('값') #값이 하나하나 나눠져서 들어감(문자열 '깻잎'의 경우 '깻' , '잎'두가지 요소가 들어감

삭제

변수.remove('값') #없는 값을 삭제하려고 하면 에러가 발생
변수.discard('값') #없는 값을 삭제하려고 해도 에러가 발생하지 않음
변수.pop('값') #마지막 값을 삭제 후 삭제된 값을 반환

변경

  • 합집합
    • 집합 1 | 집합 2
    • set.union(집합1, 집합2)
  • 교집합
    • 집합 1 & 집합 2
    • set.intersection(집합1, 집합2)
  • 차집합
    • 집합1 - 집합2
    • set.difference(집합 1, 집합 2)