튜플
- 값의 수정이나 변경, 추가, 제거가 불가능하다. 변경 불가능한 리스트라고 이해
- 하지만 리스트에서 튜플 튜플에서 리스트로 변경은 가능
- 인덱싱 슬라이싱 리스트와 동일
- 모듈이나 기본함수의 출력값의 형식으로 많이 산출됨
생성
tuple_ = ('a','b','c','d')
print(tuple_)
('a', 'b', 'c', 'd')
인덱싱, 슬라이싱
print(tuple_[2])
print(tuple_[-1])
print(tuple_[:2])
print(tuple_[::-1])
c
d
('a', 'b')
('d', 'c', 'b', 'a')
리스트와 동일하게 인덱싱 슬라이싱 가능하고 슬라이싱의 결과는 튜플 형태로 출력된다.
수정 및 추가
tuple_[0] = 'A'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-72-c25b0f105887> in <module>
----> 1 tuple_[0] = 'A'
TypeError: 'tuple' object does not support item assignment
수정 및 추가 삭제가 불가능하다.
리스트로의 변환을 활용한 추가, 제거
words = ['apple', 'banana', 'python', 'list', 'woo','woo','Java', 'won']
tuple_2 = tuple(words)
print(tuple_2, type(tuple_2), sep=' / ')
tuple_2 = list(tuple_2)
print(tuple_2, type(tuple_2), sep=' / ')
tuple_2.append('g')
tuple_2 = tuple(tuple_2)
print(tuple_2, type(tuple_2), sep=' / ')
('apple', 'banana', 'python', 'list', 'hye', 'woo', 'Java', 'won') / <class 'tuple'>
['apple', 'banana', 'python', 'list', 'hye', 'woo', 'Java', 'won'] / <class 'list'>
('apple', 'banana', 'python', 'list', 'hye', 'woo', 'Java', 'won', 'g') / <class 'tuple'>
변경을 원하는 경우에는 먼저 리스트로 형변환 이후에 변경하고 다시 튜플로 변환하면 가능하다
index, count
words = ('apple', 'banana', 'python', 'list', 'woo','woo','Java', 'won')
print('apple' in words)
print('grape' in words)
print(words.index('apple'))
print(words.count('woo'))
True
False
0
2
함수의 결과
nums = [3,56,6,2]
def base_stat(list_):
return max(list_),min(list_)
base_stat(nums)
(56, 2)
튜플의 변경이 불가능하다는 특성 때문인지 함수의 반환결과는 튜플로 반환되는 경우가 많습니다.
import pandas as pd
df = pd.read_csv('address.csv')
df.shape
(3042, 2)
'python 기초' 카테고리의 다른 글
[python기초] tqdm for문 예상속도, time (0) | 2021.12.06 |
---|---|
[ python 기초 ] lambda, map, filter (0) | 2021.08.27 |
[ python 기초 ] 딕셔너리 dictionary (2) | 2021.08.19 |
[ python 기초 ] 셋 set (0) | 2021.08.19 |
[ python 기초 ] 리스트 list (1) | 2021.08.19 |