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

+ Recent posts