728x90
반응형
SMALL
1. 튜플(Tuple)
- 리스트와 비슷하지만 리스트는 대괄호로 자료를 감싸고, 튜플은 소괄호로 감싼다.
- 요소의 수정, 삭제 불가능
tu1 = ()
tu1[0] = 100 # TypeError: 'tuple' object does not support item assignment
# 자료 추가를 지원하지 않는다.
print(tu1)

# 자료 추가를 지원하지 않는다.
tu2 = (1, 3, 5, 7)
print(tu2)
tu3 = 1, 3, 5, 7 # 이렇게 저장해도 튜플로 저장이 됌
print(tu3)
print(type(tu3))
(1, 3, 5, 7)
(1, 3, 5, 7)
<class 'tuple'>
tu4 = ('apple', 'banana', ('🍓', '🥎'))
print(tu4)
tu5 = ('apple', 'banana', ['🍓', '🥎']) # 튜플안에 리스트도 가능
print(tu5) # 그래도 타입은 튜플
print(type(tu5))
('apple', 'banana', ('🍓', '🥎'))
('apple', 'banana', ['🍓', '🥎'])
<class 'tuple'>
2. 튜플의 수정 및 삭제
- 튜플이 필요한 이유는 중복된 변수 하나때문에 모든 코드가 에러가 나는 경우가 있어 중요한 내용을 고정시킬때 사용한다.
tu6 = (1, 2, 'apple', 'banana')
print(tu6)
print(tu6[2]) #인덱싱 가능
tu6[2] = 'orange' # TypeError: 'tuple' object does not support item assignment
# 수정 못함

# 튜플에는 수정기능이 없다.
del tu6[2] # TypeError: 'tuple' object doesn't support item deletion
# 삭제도 불가

# 튜플에는 삭제도 없다.
del tu6 # 튜플 자체를 삭제하는것은 가능
# tu6(참조변수)은 메모리 주소만 가지고 있는것이기 때문에 삭제 가능
# 다른 값(주소)으로 바꾸는것도 가능
tu7 = ('apple', 'banana', ['🍓', '🥎']) # 튜플 안의 리스트에서는 수정 가능
tu7[2][1] = '🍌' # 리스트의 요소임으로 리스트의 성질을 가짐
tu7[2].append('ff') # 리스트에 요소 추가도 가능
print(tu7)
('apple', 'banana', ['🍓', '🍌', 'ff'])
tu8 = ('apple', 'banana', ['🍓', '🥎'])
print(tu8)
tu8 = '🍗' # 다른 값(주소)으로 바꾸는것도 가능
print(tu8)
('apple', 'banana', ['🍓', '🥎'])
🍗
3. 튜플의 인덱싱과 슬라이싱 연산
tu9 = (1, 2, 'apple', 'banana')
# 인덱싱
print(tu9[0])
print(tu9[-1])
# 슬라이싱
print(tu9[1:])
print(tu9[1:3])
# 덧셈 (연결)
tu10 = (30, 40)
print(tu9 + tu10) # 새로운 주소에 자료값이 생성되고,
# 변수에 새로 저장해주지 않으면 해당 주소는 말소됌
# 곱셈 (반복)
print(tu9 * 3)
# 요소의 갯수(len)
print(len(tu9))
1
banana
(2, 'apple', 'banana')
(2, 'apple')
(1, 2, 'apple', 'banana', 30, 40)
(1, 2, 'apple', 'banana', 1, 2, 'apple', 'banana', 1, 2, 'apple', 'banana')
4
4. 튜플의 정렬
tu11 = (1, 3, 2, 0)
tu11.sort() # AttributeError: 'tuple' object has no attribute 'sort'
# 튜플에는 sort라는 기능을 가지고 있지 않다.
[0, 1, 2, 3]
코드텍스트
728x90
반응형
LIST
'파이썬' 카테고리의 다른 글
| 제어문- 반복문(while, for) (0) | 2023.03.07 |
|---|---|
| 제어문- 조건문(if 함수) (0) | 2023.03.07 |
| 자료구조- list (0) | 2023.03.06 |
| 문자열 다루기(index,슬라이싱,count,find,replace,upper,lower,strip,lstrip,rstrip,join) (0) | 2023.03.06 |
| input 함수 (0) | 2023.03.06 |
