복습용/초보자 참고를 목적으로 포스팅합니다.
최근 들어 프로그래밍 언어들 중 직관적인 표현으로 코딩이 가능한 Python이 인기를 끌고 있습니다.
코드 구성의 가독성이 타 언어 대비 뛰어나고, C/C++/JAVA 에서 구현 가능한 모든 것들을 Python에서도 만들 수 있습니다.
데이터 분석부터 머신러닝, 딥러닝 등 다양한 분야에서 활용 가능한 언어 Python 지금부터 차근차근 공부해봅시다.
2. (3) 자료형(튜플, 딕셔너리)
2. 4 튜플 자료형
앞서 리스트 자료형에서 알아보았는데 튜플은 리스트 자료형과 매우 유사한 성격을 띱니다.
몇 가지 차이점이 있다면
-
리스트는 [ ], 튜플은 ( )을 이용합니다.
-
리스트는 요소들의 수정, 생성, 삭제가 가능하지만 튜플은 요소들을 바꿀 수 없습니다.
튜플의 모습을 살펴보면 다음과 같습니다.
# 튜플 예시
tuple1 = ()
tuple2 = (1,)
tuple3 = (1, 2, 3)
tuple4 = 1, 2, 3
tuple5 = ('a', 'b', ('c', 'd'))
인덱싱과 슬라이싱, 더하기(+), 곱하기(*) 방법 모두 리스트와 동일하므로 설명은 생략하겠습니다.
2. 5 딕셔너리 자료형
지금까지 여러 요소들을 가질 수 있는 자료형에 대해서 알아보았습니다.
그렇다면 그 요소들을 단순하게 나열하는 것이 아니라 쌍으로 묶어 표현이 가능할까요?
네 딕셔너리(Dictionary)를 이용하면 가능합니다.
이렇게 Key와 Value 한 쌍으로 묶인 요소들은 서로 대응관계를 가지게 됩니다.(이를 연관배열 또는 해쉬라고 합니다.)
예를 들어 '과일 이름' = '사과', '가격' = '2달러', '원산지' = '한국'으로 의미 해석이 가능합니다.
그럼 딕셔너리를 만드는 방법을 예시를 통해 살펴보겠습니다.
# 딕셔너리 예시
dic = {'name' = 'Python', 'phone' = '01234567', 'birth' = '1111'}
각 Key와 Value의 쌍 여러개가 중괄호{ } 안에 둘러싸여 있습니다.
각 요소는 Key와 Value로 구성되어 쉼표로 분리되고 있습니다.
예시에서 Key는 'name', 'phone', 'birth' 이고 Value는 'Python', '01234567', '1111'이 됩니다.
딕셔너리의 쌍 추가, 삭제
딕셔너리의 쌍을 추가할 때 순서는 배제되고 어떤 값이 추가되었는지가 중요합니다.
딕셔너리의 쌍을 추가하는 방법은 다음과 같습니다.
dic[Key] = Value
# 딕셔너리 쌍 추가
a = {1:'a'}
a[2] = 'b'
a # {2:'b', 1:'a'}
a[3] = [1, 2, 3]
a # {3:[1, 2, 3], 2:'b', 1:'a'}
딕셔너리의 쌍을 삭제할 때는 대괄호 안에 삭제를 원하는 요소의 Key를 입력합니다.
del dic[Key]
# 딕셔너리 요소 삭제
a = {3:[1, 2, 3], 2:'b', 1:'a'}
del a[3]
a # {2:'b', 1:'a'}
딕셔너리의 사용 방법
딕셔너리는 언제 사용할까요?
예를 들어 각자의 특색이 있는 4명의 사람이 있다고 가정해 보겠습니다.
# 딕셔너리 사용 예시
{"김연아":"피겨스케이팅", "류현진":"야구", "박지성":"축구", "귀도 반 로썸":"파이썬"}
이처럼 딕셔너리를 사용하면 간단하게 표현이 가능합니다.
또한 위에서 설명했듯 만들어진 딕셔너리에서 Key를 통해 Value 추출이 가능합니다.
단, 딕셔너리를 만들 때 주의할 점이 있습니다.
-
딕셔너리에서 Key는 고유한 값이므로 중복되는 Key 값을 설정 시 하나를 제외한 나머지가 무시됩니다.
-
Key 값으로 리스트는 사용할 수 없습니다. 하지만 튜플은 사용이 가능합니다.
즉, 변하는 값은 Key로 사용할 수 없습니다.
이와 같은 Key의 특성은 꼭 알고 넘어가는 것이 좋습니다.
딕셔너리 관련 함수들
딕셔너리에도 사용을 편하게 해주는 내장 함수가 존재합니다.
a = { 'Key' : 'Value'}
함수 | 설명 |
a.keys | 딕셔너리의 Key만 모아서 dict_keys객체로 리턴 |
a.values | 딕셔너리의 Value만 모아서 dict_values객체로 리턴 |
a.items | 딕셔너리의 Key와 Value 쌍을 튜플로 묶은 값을 dict_items객체로 리턴 |
a.clear | 딕셔너리 안의 모든 요소 삭제 |
a.get | Key자리에 대응되는 value를 리턴 |
'Key name' in a | 해당 Key가 딕셔너리 안에 있는지 판단(boolean) |
'Programming > [Python]' 카테고리의 다른 글
[Python/점프 투 파이썬 복습] 2. (5) Python 프로그래밍 자료형(변수) (0) | 2021.02.22 |
---|---|
[Python/점프 투 파이썬 복습] 2. (4) Python 프로그래밍 자료형(집합 자료형) (0) | 2021.02.19 |
[Python/점프 투 파이썬 복습] 2. (2) Python 프로그래밍 자료형(리스트 자료형) (0) | 2021.02.15 |
[Python/점프 투 파이썬 복습] 2. (1) Python 프로그래밍 자료형(숫자형과 문자열 자료형) (0) | 2021.02.13 |
[Python/점프 투 파이썬 복습] 1. Python은 무엇인가? (0) | 2021.02.08 |