RL Researcher

12. 튜플(tuple) 본문

AI Basic/Python Programming

12. 튜플(tuple)

Lass_os 2021. 1. 3. 18:07

1. 튜플(tuple)


  • 튜플(tuple)은 불변한 순서가 있는 객체의 집합입니다.(immutable)

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

  • list와 마찬가지로 다양한 타입이 함께 포함될 수 있습니다.

t = (1, "korea", 3.5, 1)
print(t)
print(type(t))

========================================================================

<output>
(1, 'korea', 3.5, 1)
<class 'tuple'>
  • 순서가 있기 때문에 인덱스로 접근 가능합니다.

print(t[0])
print(t[1])

========================================================================

<output>
1
'korea'
  • len()함수를 통해 길이를 구할 수 있습니다.

print(len(t))

========================================================================

<output>
4
  • for loop를 돌 수 있습니다.

for i in t:
	print(i)
    
========================================================================

<output>
1
korea
3.5
1
  • + 연산을 통해 튜플(tuple)을 추가할 수 있습니다.

t = t + (3 ,5)
print(t)

========================================================================

<output>
(1, 'korea', 3.5, 1, 3, 5)
  • * 연산을 통해 튜플(tuple)을 반복할 수 있습니다.

print(t * 2)

========================================================================

<output>
(1, 'korea', 3.5, 1, 3, 5, 1, 'korea', 3.5, 1, 3, 5)
  • tuple(튜플)속에 tuple이 포함될 수 있습니다.

a = ((1 ,2) , (3,4), (5,9))
print(a[2])
print(a[2][1])

========================================================================

<output>
(5, 9)
9
  • tuple(튜플)이 하나의 원소만 존재하는 경우는 tuple(튜플)이 되지 않습니다.

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

h = (350)
print(type(h))

h = (350,)
print(type(h))
print(len(h))

========================================================================

<output>
<class 'int'>
<class 'tuple'>
1
  • 위에 예제들 속에서 tuple(튜플)은 '( )'를 입력했습니다만, 괄호가 필수 조건은 아닙니다.

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

========================================================================

<output>
<class 'tuple'>
  • tuple(튜플)을 이용하여 함수에서 여러 값을 한꺼번에 리턴시킬 수 있습니다.

def minmax(items):
	return min(items), max(items)
print(minmax([7,5,2,1,11,15,55]))

========================================================================

<output>
(1, 55)

 

  • tuple(튜플)을 이용하여 변수를 한꺼번에 할당할 수 있습니다

lower, upper = minmax([7,5,2,1,11,15,55])
print(lower)
print(upper)

========================================================================

<output>
1
55
  • tuple(튜플)속에 tuple(튜플)을 이용해 이러한 할당도 가능합니다.

 (a, (b,(c, d))) = (4,(3,(2,1)))
print(a)
print(b)
print(c)
print(d)

========================================================================

<output>
4
3
2
1
  • 보통 다른언어에서 두 변수의 값을 서로 바꾸려면, 새로운 변수가 하나 필요하지만 파이썬에서는 튜플의 해체할당기능을 통해 바로 바꿔줄 수 있습니다.

a = '감자'
b = '고구마'
a, b  = b, a
print(a)
print(b)

========================================================================

<output>
'고구마'
'감자'
  • tuple(튜플)변환 - tuple(iterable한객체)로 tuple(튜플)로 변형할 수 있습니다.

print(tuple([1, 7, 5, 3, 9]))
print(tuple("abcde"))

========================================================================

<output>
(1, 7, 5, 3, 9)
('a', 'b', 'c', 'd', 'e')
  • in 절로 포함되어 있는지 체크할 수 있습니다.

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

========================================================================

<output>
True
False
True

'AI Basic > Python Programming' 카테고리의 다른 글

14. Set(집합)  (0) 2021.01.03
13. Dictionary(딕셔너리)  (0) 2021.01.03
15. 함수(function)  (0) 2020.12.27
11. 리스트(List) - 5 - 리스트 정렬  (0) 2020.12.25
10. 리스트(List) - 4 - 리스트 원소 추가, 삭제  (0) 2020.12.25
Comments