Python 44 - 파이썬 데이터 타입의 종류 - 튜플(Tuple), 딕셔너리(Dictionary), 세트(Set)
2021. 6. 5. 13:03ㆍpython
반응형
조합 데이터 타입
1) list : [ ]
2) tuple : ( )
3) dictionary : { }
4) set : { }
튜플(Tuple)
- () 소괄호로 표현
- 리스트와 유사하지만 수정, 삭제, 추가를 할 수 없다.
튜플의 데이터 타입 확인하기 :
t = 10,20,30
t
type(t)
t = 10,20,30
print(t)
print(type(t))
튜플은 수정, 삭제, 추가를 할 수 없다. :
t.append(40)
t.pop()
t.insert(3,40)
튜플값을 하나만 넣고 싶을땐 뒤에 콤마를 붙인다. :
tuple1 = 1
tuple2 = (1)
tuple3 = (1,)
print(type(tuple1))
print(type(tuple2))
print(type(tuple3))
중첩된 튜플을 인덱싱/슬라이싱 할 땐 리스트처럼 쓴다. :
tuple4 = ('a','b',('ab','ac'))
print(tuple4[0])
print(tuple4[1])
print(tuple4[2][0])
print(tuple4[2][1])
튜플 안의 값은 이어붙일 수 없다.
무조건 새로운 변수를 만드는 방법을 사용해야 한다. :
x = (1, 2, 3)
y = (4, 5, 6)
c = x + y
print(c)
x.extend(y) # 오류
변수안에 값이 있으면 True, 없으면 False :
1 in c
1 not in c
딕셔너리(Dictionary)
- {} 중괄호로 표현
- key, value 값을 가지는 자료형이다.
딕셔너리의 데이터 타입 알아보기 :
예 )
국어 = 가나다, 영어 = ABC, 아랍어 = لنم
dic = {'국어' : '가나다', '영어' : 'ABC', '아랍어' : 'لنم'}
print(dic)
print(type(dic))
딕셔너리는 key와 vlaue로 구성되어있다. (item = key, vlaue )
key, value, item 각각 리스트에 추출하는 방법 :
print(dic.keys())
print(dic.values())
print(dic.items())
key값만 써도 value값을 볼 수 있다. :
alc = {'소주':'삼겹살', '맥주':'치킨', '막걸리':'파전'}
print(alc['소주'])
print(alc['막걸리'])
딕셔너리에 key와 value를 새롭게 추가 :
alc['와인'] = '치즈'
print(alc)
alc['소주'] = ['삼겹살','닭발','오뎅탕','회','오돌뼈']
alc
alc['소주']
alc라는 딕셔너리 안에 소주라는 key값에 value값은 위 예시처럼 list로 올 수 있다.
key의 값을 알아보는 방법 두가지 :
print(alc['소맥']) # 키가 없을 경우 오류
print(alc.get('소맥')) # 키가 없을 경우 NONE으로 리턴된다.
key나 value가 있으면 True 없으면 False :
'소맥' in alc.keys()
'오돌뼈' in alc.values()
['삼겹살','닭발','오뎅탕','회','오돌뼈'] in alc.values()
key, value 삭제와 수정하는 법 :
del alc['소주'] # 해당 key, value 값 삭제
alc['맥주'] = [] # value값만 삭제
alc['맥주'] = '먹태' #값을 수정
alc.clear() # key, value 값 전부 삭제
alc = {'소주':'삼겹살','맥주':'치킨'}
v = alc.values()
print(type(v))
print(v)
딕셔너리에서 value만 뽑아서 리스트로 변환 :
snack = list(v)
snack
딕셔너리에서 key만 뽑아서 리스트로 변환 :
k = alc.keys()
alc2 = list(k)
print(k)
이렇게도 가능하다 :
k = list(alc.keys())
print(k)
딕셔너리의 정렬
alc = {'소주':'삼겹살', '맥주':'치킨', '막걸리':'파전', '와인':'치즈'}
sorted(alc)
아이템 정렬 :
for key, value in alc.items():
print(key,value)
key를 기준으로 아이템 오름차순 :
for key, value in sorted(alc.items()):
print(key,value)
key를 기준으로 아이템 내림차순 :
for key, value in sorted(alc.items(), reverse = True):
print(key,value)
sorted는 value를 기준으로 정렬할 수 없다.
value를 기준으로 정렬하려면 operator함수를 사용해야 한다.
key를 기준으로 오름차순 :
import operator # operator를 불러온다.
for key, value in sorted(alc.items(), key=operator.itemgetter(0)):
print(key,value)
value를 기준으로 오름차순 :
for key, value in sorted(alc.items(), key=operator.itemgetter(1)):
print(key,value)
value를 기준으로 내림차순 :
for key, value in sorted(alc.items(), key=operator.itemgetter(1), reverse = True):
print(key,value)
세트(Set)
- {} 중괄호로 표현 (딕셔너리와 혼동 주의)
- 집합 자료형
- 리스트와 비슷하다. 인덱스 순서가 없다.
- 중복을 허용하지 않는다.
세트 생성과 데이터 타입 알아보기 :
s = {1,1,1,2,2,2,3,3,3,3,4}
print(s)
print(type(s))
x = {1,2,3,6}
y = {1,2,3,4,5}
일때
합집합 :
x.union(y)
x|y
교집합 :
x.intersection(y)
x&y
차집합 :
x.difference(y)
x-y
겹치지않는 원소 찾기 :
print(x.difference(y).union(y.difference(x)))
(x|y)-(x&y)
x.symmetric_difference(y)
세트 집합 변수 삭제, 수정 :
x.remove(1) # 집합변수의 값을 삭제
x.add(1) # 집합변수의 값을 한 개 추가
x.update([8,9]) # 여러개의 값을 추가
조합 데이터 타입의 공집합 표현 (타입을 지정해 놓고 사용할때)
1) 리스트
x = []
2) 튜플
y = ()
3) 딕셔너리
z = {}
4) 세트
s = set()
-eomcoding 엄코딩-
반응형
'python' 카테고리의 다른 글
Python 46 - 조건문 제어문 _ IF문 (0) | 2021.06.07 |
---|---|
Python 45 - 파이썬 알아두면 좋은 Boolean 타입 / 변수 복제 방법 (0) | 2021.06.06 |
Python 43 - 파이썬 데이터 타입의 종류 - 리스트(List) (0) | 2021.06.04 |
Python 42 - 파이썬으로 무엇을 할 수 있을까? (0) | 2021.06.03 |
Python 41 - 파이썬 의미, 창시자, 역사 (0) | 2021.06.02 |