CodingTest/Python 문법

자료형

seongduck 2022. 7. 4. 17:57

사전 자료형

  • Key와 Value의 쌍을 데이터로 가지는 자료형
  • 변경 불가능한 자료형을 Key로 사용 가능
  • Hash Table을 이용하므로 데이터의 조회 및 수정에 O(1)의 시간복잡도를 가진다.
Key Value
사과 Apple
바나나 Banana
코코넛 Coconut

 

data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'

if '사과' in data:
	print("존재")
#실행 결과
"존재"

사전 자료형에서는 키와 값을 별도로 뽑아내기 위한 메서드를 지원한다.

  • keys()함수로 키 데이터를 뽑아 리스트로 이용
  • values()함수로 값 데이터만 뽑아 리스트로 이용
# 키 데이터만 담은 리스트
key_list = data.keys()

# 값 데이터만 담은 리스트
values_list = data.values()
#키 값만 출력
for key in key_list:
	print(data[key])

집합 자료형

집합의 특징

  1. 중복을 허용하지 않는다.
  2. 순서가 없다.
  3. 리스트 혹은 문자열을 사용해 초기화한다. <set()>'
  4. 데이터의 조회 및 수정은 O(1)의 시간 복잡도를 가진다.
# 집합 자료형 초기화 방법1
data = set([1,1,2,3,4,4,5])

# 집합 자료형 초기화 방법2
data = {1,1,2,3,4,4,5}
#실행 결과
{1,2,3,4,5}

집합 자료형의 연산

# 합집합
print(a|b)

#교집합
print(a&b)

#차집합
print(a-b)
#새로운 원소 추가
data.add(i)

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

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

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

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

 

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

함수  (0) 2022.07.04
반복문  (0) 2022.07.04
조건문  (0) 2022.07.04
표준 입/출력  (0) 2022.07.04
리스트  (0) 2022.07.04