Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

채채

사전 자료형과 집합 자료형 본문

Python/기본 문법

사전 자료형과 집합 자료형

HChaeEun 2023. 11. 7. 16:50
  • 사전 자료형은 키(Key)와 값(Value)의 쌍을 데이터로 가지는 자료형이다.
  • 사전 자료형은 키와 값의 쌍을 데이터로 가지며, 원하는 '변경 불가능한 자료형'을 키로 사용한다.
  • 파이썬의 사전 자료형은 해시 테이블을 이용하므로 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리할 수 있다.
data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'
print(data)

dif = {
	'사과': 'Apple'
    '바나나': 'Banana'
    '코코넛': 'Coconut'
}
print(dif)

if '사과' in data:
	print("'사과'를 키로 가지는 데이터가 존재합니다.")

사전 자료형 관련 메서드

  • 키 데이터만 뽑아서 리스트로 이용할 경우 keys()
  • 값 데이터만 뽑아서 리스트로 이용할 경우 values()
  • 엄밀히 말하면 keys()와 values()로 출력되는 리스트는 'dict_keys()|dict_values()'라는 하나의 객체로 반환되기 때문에 list()함수로 형변환을 수행해주면 정상적으로 출력된다.
data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'

# 키 데이터만 담은 리스트
key_list = list(data.keys())

# 값 데이터만 담은 리스트
value_list = list(data.values())
print(key_list)
print(value_list)

# 각 키에 따른 값을 하나씩 출력
for key in key_list:
	print(data[key])

집합 자료형

  • 중복 허용 X, 순서 X
  • 집합은 리스트 혹은 문자열을 이용해 초기화 할 수 있다.
    • set()함수 이용
  • 혹은 중괄호({})안에 각 원소를 콤마(,)기준으로 구분하여 삽임함으로써 초기화 할 수 있다.
  • 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리한다.
# 집합 자료형 초기화 방법 1
data = set([1, 1, 2, 3, 4, 4, 5])
print(data)

# 집합 자료형 초기화 방법 2
data = {1, 1, 2, 3, 4, 4, 5}
print(data)

집합 자료형의 연산

a = set([1, 2, 3, 4, 5])
b = set([3, 4, 5, 6, 7])

# 합집합
print(a | b)

# 교집합
print(a & b)

# 차집합
print(a - b)

집합 자료형 관련 함수

data = set([1, 2, 3])
print(data)

# 새로운 원소 추가
data.add(4)
print(data)

# 새로운 원소 여러개 추가
data.update([5, 6])
print(data)

# 특정한 값을 갖는 원소 삭제
data.remove(3)
print(data)

사전 자료형과 집합 자료형의 특징

  • 리스트나 튜플은 순서가 있기 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있다.
  • 사전 자료형과 집합 자료형은 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없다.
    • 사전의 키(key) 혹은 집합의 원소를 이용해 O(1)의 시간 복잡도로 조회한다.

'Python > 기본 문법' 카테고리의 다른 글

기본 입출력  (0) 2023.11.07
문자열과 튜플 자료형  (0) 2023.11.07
리스트 자료형  (0) 2023.11.07
자료형  (0) 2023.11.01