KDT 수업/Python

[파이썬] 07. 튜플(Tuple)

니니는 진짜 전설이다 2023. 3. 7. 16:15

1. 튜플(Tuple)

  • 리스트와 비슷하지만 리스트는 대괄호로 자료를 감싸고, 튜플은 소괄호( )로 감싼다.
  • 소괄호를 생략할 수 도 있다.
  • 데이터의 수정, 삭제가 불가능하다.
tu1 = ()
print(tu1)
# tu1[0] = 100  #TypeError: 'tuple' object does not support item assignment ==>추가 안됨!
>>()


tu2 = (1,3,5,7)
print(tu2)
>>(1, 3, 5, 7)


tu3 = 1,3,5,7
print(tu3)
print(type(tu3))
>>
(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  ==> 수정불가
>>
(1, 2, 'apple', 'banana')
apple
  • 튜플은 데이터 삭제가 불가하다
del tu6[2]  # TypeError: 'tuple' object doesn't support item deletion ==> 요소 삭제 불가

# but
del tu6    # 튜플 형태를 담고있는 tu6이라는 변수를 삭제하는것이기 때문에 가능! 
           # tu6에 다른 값을 담는 것도 가능! 변수니까
  • 리스트가 포함된 튜플
tu7 = ('apple', 'banana',['🍓','🍉'])   #리스트가 포함됨
tu7[2][1] = '🍌'     #리스트 내부의 요소이므로 변경이 가능하다
print(tu7)
>>('apple', 'banana', ['🍓', '🍌'])


tu7[2] = '🍔'    
>> TypeError: 'tuple' object does not support item assignment  
   ==> 리스트 자체는 지금 튜플 요소라 변경 불가

 

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)

# 요소의 갯수
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

 

  • 튜플의 정렬
tu11 = (1,3,2,0)
# tu11.sort()  # AttributeError: 'tuple' object has no attribute 'sort'  ==> sort기능이 없음
tu12 = sorted(tu11)    # sorted ==> return해주는 함수!! 다른 변수에 그 리턴 값을 담아주면 됨
print(tu12)
>[0, 1, 2, 3]

'KDT 수업 > Python' 카테고리의 다른 글

[파이썬] 09. 제어문(반복문)  (0) 2023.03.07
[파이썬] 08. 제어문  (0) 2023.03.07
[파이썬] 06. 리스트(list)  (0) 2023.03.06
[파이썬] 05. 문자열 다루기  (0) 2023.03.06
[파이썬] 04. 파이썬의 입력  (0) 2023.03.06