본문 바로가기
개발/Python

[파이썬, Python] 튜플 관련 함수 총정리

by 꾀돌이 개발자 2022. 3. 13.
반응형

 

[ 파이썬 튜플 관련 함수 정리 ]

 

 

* 코드는 기본적으로 <입력값 # 출력값> 으로 구성되어 있습니다.

 

* 아래 [더보기] 클릭 후 [Ctrl + F] 단축키를 활용하여 찾고 계신 함수 위치로 바로 가실 수 있습니다.

더보기

튜플 연산자 : + , *
자료형 변환 : tuple
튜플 인덱싱 & 슬라이싱

튜플 복사 : =, list, [:]
튜플 내장 함수 : len, count
튜플 내장 함수 : index, max, min, sum

 

 

type(변수) : 튜플(tuple)

a, b = (), tuple()
print(type(a)) # <class 'tuple'>
print(type(b)) # <class 'tuple'>

c = (1, 2, 3, 4, 5)
d = 1, 2, 3, 4, 5
e = (1, 2, ('a', 'b', 'c'))
print(type(c)) # <class 'tuple'>
print(type(d)) # <class 'tuple'>
print(type(e)) # <class 'tuple'>

a = (1,)
print(type(a)) # <class 'tuple'>
b = (1)
print(type(b)) # <class 'int'>
c = 1,
print(type(c)) # <class 'tuple'>
d = 1, 2, (3, 4, 5)
print(type(d)) # <class 'tuple'>

 

 

튜플 연산자 : + , *

  • 튜플 + 튜플 : 튜플 간 연결
  • 튜플 * 정수 : 정수만큼 튜플 반복
a, b = (1, 2, 3), ('a', 'b', 'c')
print( a + b ) # (1, 2, 3, 'a', 'b', 'c')
print( a * 3 ) # (1, 2, 3, 1, 2, 3, 1, 2, 3)

 

 

자료형 변환 : tuple

  • tuple(값) : 값(문자열, 리스트 등)을 튜플로 변환
a = 'abcdefg'
print(type(a)) # <class 'str'>
print(tuple(a)) # ('a', 'b', 'c', 'd', 'e', 'f', 'g')
print(type(tuple(a))) # <class 'tuple'>

a = [1, 2, 3, 4, 5]
print(type(a)) # <class 'list'>
print(tuple(a)) # (1, 2, 3, 4, 5)
print(type(tuple(a))) # <class 'tuple'>

 

 

튜플 인덱싱 & 슬라이싱

  • 인덱싱 : 변수[인덱스]
  • 슬라이싱 : 변수[시작인덱스 : 종료인덱스] = a[x : x+3] = a[x], a[x+1], a[x+2]
a = ('a', 'b', 'c', 'd', 'e')
print(a[0]) # a
print(a[-1]) # e
print(a[2]) # c
print(a[1:3]) # ('b', 'c')
print(a[:]) # ('a', 'b', 'c', 'd', 'e')
print(a[:3]) # ('a', 'b', 'c')
print(a[3:]) # ('d', 'e')

a = ('a', 'b', ('c', 'd', ('e')))
print(a[2]) # ('c', 'd', 'e')
print(a[2][2]) # e
print(a[2][2][0]) # e
print(a[2][0:2]) # ('c', 'd')
print(a[2][0:2][0]) # c

 

 

튜플 복사 : =, list, [:]

  • 튜플2 = 튜플1 : 튜플1 값을 튜플2 값에 저장함, 두 변수의 메모리 주소가 동일함
  • 튜플2 = tuple(튜플1) : 튜플1 값을 튜플2 값에 저장함, 두 변수의 메모리 주소가 동일함
  • 튜플2 = 튜플1[:] : 튜플1 값을 튜플2 값에 저장함, 두 변수의 메모리 주소가 동일함
a = (1, 2, 3)
b = a
print(id(a), id(b)) # 2485419470496 2485419470496
print(b is a) # True

a = (1, 2, 3)
c = tuple(a)
print(id(a), id(c)) # 2485421996576 2485421996576
print(c is a) # True

a = (1, 2, 3)
d = a[:]
print(id(a), id(d)) # 2485419581656 2485419581656
print(d is a) # True

 

 

튜플 내장 함수 : len, count

  • len(튜플) : 튜플의 길이를 반환함
  • 튜플.count(찾을 값): 튜플 내에서 찾을 값의 개수를 반환함
a = (1, 2, 3, 4, 5)
print(len(a)) # 5

a = (1, 2, 2, 3, 3, 3)
print(a.count(3)) # 3

 

 

튜플 내장 함수 : index, max, min, sum

  • 튜플.index(찾을 값, 시작인덱스, 종료인덱스) : 튜플 시작~종료 인덱스 사이에서 찾을 값이 처음 나타나는 위치를 반환함
  • max(튜플) : 튜플 내 최댓값을 반환함
  • min(튜플) : 튜플 내 최솟값을 반환함
  • sum(튜플) : 튜플 내 총합을 계산하여 반환함
a = (1, 2, 'a', 'b', (1, 2))
print(a.index('a')) # 2
print(a.index((1, 2))) # 4
print(a.index(3)) # ValueError: tuple.index(x): x not in tuple
print(a.index('a', 0, 3)) # 2
print(a.index('b', 0, 3)) # ValueError: tuple.index(x): x not in tuple

a = (1, 2, 3)
print(max(a)) # 3
print(min(a)) # 1
print(sum(a)) # 6

 

 

튜플 내장 함수 심화

  • max(튜플, key = lambda 튜플:튜플[인덱스]) : 다중 튜플의 경우 정렬 기준을 정의하여 튜플 내 최댓값을 탐색함
  • min(튜플, key = lambda 튜플:튜플[인덱스]) : 다중 튜플의 경우 정렬 기준을 정의하여 튜플 내 최솟값을 탐색함
  • max(튜플, default=값) : 튜플이 비어있을 때 default 값을 출력함
  • min(튜플, default=값) : 튜플이 비어있을 때 default 값을 출력함
  • sum(튜플, 기준 값) : 튜플 내 총합과 기준 값을 더함
a = (('a', 1), ('b',7), ('c', 3), ('d', -5), ('e', -9))
print(max(a, key = lambda a:a[0])) # ('e', -9)
print(max(a, key = lambda a:a[1])) # ('b', 7)
print(max(a, key = lambda a:abs(a[1]))) # ('e', -9)

print(min(a, key = lambda a:a[0])) # ('a', 1)
print(min(a, key = lambda a:a[1])) # ('e', -9)
print(min(a, key = lambda a:abs(a[1]))) # ('a', 1)

a = ()
print(max(a, default=1)) # 1
print(max(a)) # ValueError: max() arg is an empty sequence
print(min(a, default=1)) # 1
print(min(a)) # ValueError: min() arg is an empty sequence

a = (1, 2, 3)
print(sum(a, 10)) # 16

 

 

리스트 내장 함수 : 튜플은 요소 추가, 삭제, 수정을 할 수 없으므로 리스트에서 사용한 아래 함수는 사용할 수 없음

  • append, insert, extend
  • del, remove, pop, clear
  • sort, sorted, reverse, reversed

 

 

반응형