본문 바로가기
Python/Python 기초

[파이썬 자료형] 튜플(tuple), 딕셔너리(dictionary), 집합(set)

by 찐남 2022. 3. 21.

일반적인 프로그래밍 언어와 달리

파이썬에는 특이한 자료형이 있다.

 

일반적인 통계 분석 프로그램인

SAS와 R에 익숙한 나는

처음 파이썬을 접하게 되었을 때,

이들 자료형에 낯설움을 느꼈다.

 

튜플(tuple), 딕셔너리(dictionary), 집합(set)

자료형이 바로 그들이다.

※ 기본적인 자료형

(숫자형, 문자, 문자열, 리스트, 불 자료형)은

아래 포스팅 글을 참고하시면 됩니다

 

 

[파이썬완전기초] print, 기본자료형, 변수, 주석

본 포스팅은 2021 NIPA AI 온라인 무료 교육의 AI 실무 기본 과정을 기반으로 작성하였습니다. 1. 출력하기 (print) 1.1. 한 문장 출력하기 파이썬의 실행 결과를 화면에 보여주기 위한 함수입니다. 사용

zzinnam.tistory.com

 

그럼 하나하나씩 살펴 보기로 하자.

 

 

1. 튜플(tuple)

파이썬을 처음 접한다면,

낯설게 느껴지는 자료형이다.

하지만, 리스트(list) 자료형을 알고 있다면, 

어렵지 않는 자료형이다.

 

결론은,

리스트와 모두 동일하지만,

변경할 수 없는 자료형이라고

알고 있으면 된다.

 

튜플 표현 방법

리스트는 []로 표현하지만,

튜플은 ()로 자료를 만든다.

인덱싱과 슬라이싱 방법 모두

리스트와 동일하다.

# 생성 방법
tuPle0 = ()
tuPle1 = ('ass','bss')
tuPle2 = (1, 500, 1000)
tuPle3 = 1, 500, 1000
tuPle4 = (1, 500, 1000, 'ass', 'bss')
tuPle4 = (1, 500, 1000, ('ass', 'bss'))

# 출력 예시
print(tuPle1)

tuPle3[2]

tuPle4[3]

# 값 변경 시도
tuPle3[2] = 600

 

값 변경이 안된다는 것 이외에

모든 것이 리스트 자료형과 동일함을 알 수 있다.

그럼 언제 리스트 자료형을 사용하고, 

언제 튜플 자료형을 사용할까?

그 건 프로그램을 작성하면서,

향 후 변경될 가능성이 있는 자료형은

리스트를 사용하고, 

변경될 가능성이 없거나, 

변경되면 안 되는 자료는 

튜플 자료형을 사용하면 된다.

 

2. 딕셔너리(dictionary)

딕셔너리는 'key'와 'value'가 쌍을 이루는

자료형이라고 생각하면 된다.

이는 데이터 분석을 위한 자료 구조인

데이터 프레임과 연관하여

이해하는 것이 좋다.

'key'는 데이터 프레임의 'column명'이고,

'value'는 데이터 프레임의 '관측값(observation)으로

이해하면 편하다.

 

딕셔너리 자료형 표현 방법

# 기본적인 표현 방법
dicTionary0 = {key1:value1, key2:value2,...}

# 딕셔너리 자료형 생성 예시
dicTionary1 = {'id': 1, 'score': 948}
dicTionary2 = {'id': [2,3,4,5], 'score': [749, 946, 485, 872]}
dicTionary3 = {1: '1번 고객'}
dicTionary4 = {'id': 1, 'score': [749, 946, 485, 872]}

 

요소 값에 대한 접근 방법

리스트와 튜플형과 다르게

인덱싱으로 접근할 수 없고, 

'key'를 활용하여 접근할 수 있다.

# 접근 예시
dicTionary2['id']

dicTionary4['score']

 

딕셔너리 관련 내재 함수

딕셔너리 관련 주요 내재 함수는

keys(), values(), items()이다.

keys() 함수는 딕셔너리의 'key'의 값들을

리스트로 반환해 준다.

values() 함수는 딕셔너리의 'value'의 값들을

리스트로 반환해 준다.

마지막으로 items() 함수는 'key'와 'value'의 값들을

모두 리스트로 반환해 준다.

# 사용 예시
dicTionary2.keys()

dicTionary3.values()

dicTionary4.item()

 

3. 집합(set)

파이썬을 접하면서 가장 궁금한 자료형이다.

이게 언제, 왜 필요할까?

잘 모르겠지만,

향 후 프로그램에서 접하게 될 경우,

당황하지 않기 위해서 작성하여 기억해 둔다.

 

표현방법

자료를 생성하기 위한 표현 방법은

sEt = set([1,2,3]) 와 같다.

 

특징

순서가 없고,

중복된 값들은 제외된다.

자료형 네이밍에서 알 수 있듯이,

일반 고등학교 수학 시간에 배우는

교집합(intersection), 합집합(union), 차집합(difference)

의 결괏값을 반환해 준다.

 

# 자료 생성
sEt0 = set([1,2,3,'one','two','three'])
sEt1 = set([2,3,4,5, 'two','three','four','five'])

# 교집합 연산
sEt0 & sEt1

sEt0.intersection(sEt1)

# 합집합 연산
sEt0 | sEt1

sEt0.union(sEt1)

# 차집합 연산
sEt0 - sEt1

sEt0.difference(sEt1)

예시에서 보면,

순서는 문자열보다는 숫자형이

우선 시 되고,

동일 형 내에서 자동 '오름차순'으로

정렬됨을 알 수 있다.

 

수많은 데이터 분석을 진행해 보았지만,

현재까지 한 번도 사용해 본 적이 없는

자료형이다.

 

알고만 있자.

 

 

반응형

댓글