데이터 타입 : 튜플에 대해 알아보기
1. 튜플은 기본적으로 리스트 형태와 비슷하나 대괄호 []가 아닌 소괄호 ()로 표현
2. 튜플의 다양한 형태
tuple = ('사과', '바나나', '배')
print(tuple)
print(type(tuple))
출력 : ('사과', '바나나', '배')
tuple
tp=('사과')
print(type(tp))
출력 : str
tp1=('사과',)
print(type(tp1))
출력 : tuple
즉 튜플타입이 나오기 위해서는 쉼표(,)가 있어야 함
추가적으로
a=3, 4, 5
print(type(a))
출력 : tuple
tp_1 = ((1, 2), 3, 4, (5, 6, 7))
print(tp_1[0])
print(tp_1[3][1])
출력 : (1, 2)
6
my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
print(my_list[0:2])
print(my_tuple[0:2])
출력 : [1, 2]
(1, 2)
my_list[0] = '안녕하세요'
print(my_list)
출력 : ['안녕하세요', 2, 3, 4, 5]
my_tuple[0] = '안녕하세요'
print(my_list)
출력 : 오류 발생
즉, 튜플에서는 변수 변경 불가함(요소에 대해서 변경 불가!!), 리스트와 다른점이니 꼭 유념할 것!
3. 튜플의 메소드에 대해 알아보기(리스트에 비해 메소드가 거의 없음)
숫자 = (1, 2, 2, 2, 3, 4, 5, 1)
숫자.count(1)
print(숫자.count(1)), 출력 : 2 (튜플 내 1 요소가 들어가 있는 개수)
print(숫자.index(2)), 출력 : 1 (튜플 내 요소 2가 몇번째에 나오는지?, 중복된 요소 중 가장 먼저 나오는 위치에 대한 값)
- 리스트 형태 [1, 2, 3, 4, 5], 대괄호
- 튜플 형태(1, 2, 3, 4, 5), 소괄호
- 셋 형태{1, 2, 3, 4, 5}, 중괄호
4. 셋(set)의 형태에 대해 알아보기
- 요소(element)간 중복을 허용하지 않고, 순서도 없는 형태
my_set = {1, 2, 3, 4, 5}
print(my_set)
print(type(my_set))
출력 : {1, 2, 3, 4, 5}
set
# 셋(set)형태에서 중복된 요소를 넣었을 때 맨 앞의 요소만 출력됨
my_set={1, 1, 2, 3, 4, 1, 2}
print(my_set)
출력 : {1, 2, 3, 4}
print(my_set[0])
출력 : 오류발생(셋형태는 순서가 없기 때문에 안됨)
# 리스트 형태를 셋 형태로 변환할 수 있음. 다만, 셋 형태의 특성으로 중복된 값은 하나만 출력 됨
my_list = [1, 2, 3, 5, 1, 4, 3]
set(my_list)
출력 : {1, 2, 3, 4, 5}
- 셋(set)의 메소드에 대해 알아보기
1) set.add()
나의주식 = {'삼성전자', 'sk하이닉스', '이마트'}
나의주식.add('현대차')
print(나의주식)
출력 : {'삼성전자', '현대차', 'sk하이닉스', '이마트'}
2) set.difference()
나의주식1 = {'삼성전자', 'sk하이닉스', '이마트'}
나의주식2 = {'삼성전자', 'LG전자', '기아차'}
나의주식1.difference(나의주식2)
출력 : {'sk하이닉스', '이마트'}
#나의주식1에 있는 요소중에서 나의주식2와 겹치지 않는 요소들만을 추출한 것
3) set.discard(), 원하는 요소를 제거하고 싶을 때
나의주식3= {'삼성전자','기아차', '현대차'}
나의주식3.discard('삼성전자')
print(나의주식3)
출력 : {'기아차', '현대차'}
4) set.clear(), set에 있는 데이터를 비우고 싶을 때
나의주식4 = {'삼성전자', '테슬라'}
나의주식4.clear()
print(나의주식4)
출력 : set()
5. 딕셔너리 형태에 대해 알아보기
- 딕셔너리는 기본적으로 key, value 값으로 구성
- {문자열 : 숫자} {숫자 : 문자열} {튜플 : 숫/문} {리스트 : 숫/문}
- 딕셔너리에서 요소를 접근할 때 key를 기준으로 접근
과일상자 = {'사과': 1, '배': 2, '수박':3}
print(과일상자)
print(type(과일상자))
출력 : {'사과': 1, '배': 2, '수박':3}
dict
과일상자['사과']
출력 : 1
이처럼 딕셔너리에서 요소를 추출할 땐, key값을 기반으로 value값을 추출한다
del 과일상자['사과']
print(과일상자)
출력 : {'배': 2, '수박': 3}
key값을 제거할 때 value값도 함께 제거된다는 사실을 인지하자
5-1)딕셔너리 내 key 값만 가지고오기
print(과일상자.keys())
kk=과일상자.keys()
print(type(kk))
list(kk)
출력 :
dict_keys(['배', '수박')]
dict_keys
['배', '수박']
5-2)딕셔너리 내 key 값만 가지고오기
과일상자.values()
출력 : dict_values([2, 3])
5-3)딕셔너리 내 key, value 모두 가지고 오기
과일상자.items()
출력 : dict_items([('배': 2, '수박': 3)])
5-4)요소를 새로 추가하기
과일상자.update({'파인애플': 4})
print(과일상자)
출력 : {'배': 2, '수박': 3, '파인애플': 4}
5-5)요소 제거하기
과일상자.pop('배')
print(과일상자)
출력 : {'수박': 3, '파인애플': 4}
'데이터 분석' 카테고리의 다른 글
도전! 실전코딩해보기 (0) | 2022.06.14 |
---|---|
금융 데이터 분석을 위한 파이썬 프로그래밍(4) (0) | 2022.06.13 |
금융데이터 분석을 위한 파이썬 프로그래밍(1) (0) | 2022.06.10 |
금융데이터 분석을 위한 Pandas 기초공부(3) (0) | 2022.06.09 |
금융데이터 분석을 위한 Pandas 기초공부(2) (2) | 2022.06.08 |