1. 순차적인 자료 구조. 0번부터 시작하는 인덱스 번호 순으로 저장

2. 소괄호 ( ) 안에 데이터를 저장한다.

3. 리스트의 원소들은 수정 할 수 없다.

4. 여러가지 자료형의 데이터를 혼용해서 저장할 수 있다.

5. 소괄호를 사용하지 않고 콤마 , 로 데이터를 구분하면 자동으로 튜플로 처리한다.

6. 원소가 하나일 때에는 끝에 콤마 , 를 붙여주어야 한다.

7. 중첩 튜플 사용도 가능하다.

8. list()와 tuple() 을 이용해 서로 변환할 수 있다.

 

 

t1 = ()                         # 비어있는 튜플
t2 = (1,)                       # 원소가 하나일 때에는 끝에 콤마를 붙여야 한다.
t3 = (1,2,3)
t4 = 1, 2, 3
t5 = (30, 3.14, True, False, 'python')
# t5[1] = 42.195               # 오류 발생 : 튜플데이터는 수정할 수 없다.
t6 = ('a', 'b', 'c', ('ab', 'cd'))

print(type(t1))                 # <class 'tuple'>
print(type(t2))                 # <class 'tuple'>
print(type(t4))                 # <class 'tuple'>
print('t1:', t1)
print('t2:', t2)
print('t3:', t3)
print('t4:', t4)
print('t5:', t5)
print('t6:', t6)

 

 

 

 

 

 

튜플의 인덱싱

 

t1 = (1, 2, 'a', 'b')
print(t1[0])                        # 1
print(t1[1])                        # 2
print(t1[2])                        # a
print(t1[3])                        # b
print(t1[-1])                       # b

 

 

 

 

튜플의 슬라이싱

 

# [ start index : end index ]
t2 = (10, 20, 30, 40, 50)
print(t2[1:3])                      # 인덱스 1~2번까지 슬라이싱  : (20, 30)
print(t2[ :4])                      # 처음부터 3번까지 슬라이싱  : (10, 20, 30, 40)
print(t2[1:])                       # 인덱스 1번부터 끝까지 슬라이싱 : (20, 30, 40, 50)

 

 

 

튜플의 연산 - 더하기와 곱하기(반복)

 

# 3. 튜플 더하기 : +
print(t1 + t2)                      # (1, 2, 'a', 'b', 10, 20, 30, 40, 50)
print(t2 + t1)                      # (10, 20, 30, 40, 50, 1, 2, 'a', 'b')

# 4. 튜플 곱하기 : * (반복)
print(t2 * 3)                       # (10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20, 30, 40, 50)

 

 

 

 

 

len

모든 원수의 개수를 구해준다.

 

t1 = (10, 20, 30, 40, 50)
print(len(t1))                      # 튜플 원소의 갯수 : 5
print(t1)                           # (10, 20, 30, 40, 50)

 

 

 

 

count

특정 원소의 개수를 구해준다.

 

t2 = (1,100,2,100,3,100,4,100,5,100)
print(t2.count(100))                # 튜플의 원소 100의 갯수 : 5

 

 

 

index

특정 원소의 인덱스 번호를 구해준다.

 

t3 = ('java','jsp','python','spring','R','tensorflow','keras')
print(t3.index('spring'))          # spring 원소의 인덱스 번호 : 3

 

 

 

튜플 패킹 (Tuple Packing)

여러 데이터를 튜플로 묶는 것

 

t1 = 10, 20, 30
print(type(t1))                     # <class 'tuple'>
print(t1)                           # (10, 20, 30)

 

 

 

튜플 언패킹 (Tuple Unpacking)

튜플의 각 원소를 여러 개의 변수에 할당하는 것.

튜플의 원소의 개수와 변수 개수가 일치하지 않으면 에러 발생

 

t1 = 10, 20, 30				# 패킹

one, two, three = t1			# 언패킹
print('one:', one)			# 10
print('two:', two)			# 20
print('three:', three)			# 30

+ Recent posts