튜플(tuple) 연산 총정리

Code_Angler·2021년 5월 24일
0

code study by PyCharm

목록 보기
16/16

tuple(튜플)은 불변한 순서가 있는 객체의 집합

list형과 비슷하지만 한 번 생성되면 값을 변경할 수 없습니다.

다양한 타입을 함께 포함 할 수 있다.

t = ("감자", 1, 3.14, 0)
print(t)
type(t)

-----------------------------------
#result

('감자', 1, 3.14, 0)
<class 'tuple'>

순서가 있기때문에 인덱스로 접근 가능하다.

t = ("감자", 1, 3.14, 0)
print(t[0])
print(t[1])

-----------------------------------
#result

감자
1

len 내장함수로 길이를 구할 수 있다.

t = ("감자", 1, 3.14, 0)
print(len(t))

-----------------------------------
#result

4

list와 마찬가지로 for 문을 돌 수 있다.

t = ("감자", 1, 3.14, 0)
for i in t:
    print(i)
    
-----------------------------------
#result    

감자
1
3.14
0

더하기 연산으로 tuple(튜플)을 추가할 수 있다.

t = ("감자", 1, 3.14, 0)
t = t + ('사랑' ,'해')
print(t)

-----------------------------------
#result  

('감자', 1, 3.14, 0, '사랑', '해')

곱하기 연산으로 tuple(튜플)을 반복할 수 있다.

t = ("감자", 1, 3.14, 0)
print(t*2)

-----------------------------------
#result  

('감자', 1, 3.14, 0, '감자', 1, 3.14, 0)

tuple(튜플) 속에 tuple이 포함될 수 있습니다.

a = (('나무' ,2) , ('새',4), (6,'감기'))
print(a[2])
print(a[2][1])

-----------------------------------
#result  

(6, '감기')
감기

tuple(튜플)이 하나의 원소만 존재하는 경우는 tuple(튜플)이 되지 않는다.

but 회피하는 방법이 있습니다. 한개의 원소 뒤에 콤마를 찍어주면 tuple이 유지됩니다.

a = (5000)
b = (5000,)
print(type(a))
print(type(b))


# print(len(a)) # TypeError: object of type 'int' has no len()
print(len(b))

-----------------------------------
#result  

<class 'int'>
<class 'tuple'>
1

tuple(튜플) 괄호()가 필수 조건은 아니다.

a = 1, 3, 2, 5, 7
print(type(a))

-----------------------------------
#result  

<class 'tuple'>

tuple(튜플)을 이용하여 함수에서 여러 값을 한꺼번에 리턴할 수 있다

def minmax(items):
	return min(items), max(items)
print(minmax([-5, 6, 7, 8, 55, 96, 785, 362]))

-----------------------------------
#result  

(-5, 785)

tuple(튜플)을 이용하여 변수를 한꺼번에 할당할 수 있다.(자바스크립트 ES6 해체할당과 비슷)

def minmax(items):
	return min(items), max(items)

lower, upper = minmax([-5, 6, 7, 8, 55, 96, 785, 362])
print(lower)
print(upper)
print(lower, upper)

-----------------------------------
#result  

-5
785
-5 785

tuple(튜플)속에 tuple(튜플)을 응용 하기

(a, (b,(c, d))) = (19,(5,(3,1)))
print(a)
print(b)
print(c)
print(d)

-----------------------------------
#result  

19
5
3
1

튜플을 이용한 변수값 스위치

a = '딸기'
b = '토마토'
a, b  = b, a
print(a, b)

-----------------------------------
#result  

토마토 딸기

tuple(튜플)변환 - tuple(iterable한 객체)는 변형가능

print(tuple([1, 7, 5, 3, 9]))
print(tuple("abcde"))
print(tuple({'abc': 5, 'def': 2, 'ghi': 999}))
# print(tuple(12345)) # TypeError: 'int' object is not iterable

-----------------------------------
#result 

(1, 7, 5, 3, 9)
('a', 'b', 'c', 'd', 'e')
('abc', 'def', 'ghi')

in 으로로 포함여부 확인 가능

a = 'a' in ('a', 'b', 'c')
b = 5 in ('a','b','c')
c = 5 not in ('a','b','c')

print(a, b, c)

-----------------------------------
#result 

True False True

출처 :https://wikidocs.net/16042

profile
CodeAngler

0개의 댓글