[파이썬(Python)]-자료형(튜플)

배병진·2023년 6월 29일
0

개인공부-Python

목록 보기
10/22

튜플이란?

  • 수량의 순서있는 열거

사용법

  • 소괄호를 이용하고, 값을 넣을 경우 ','의 표시를 해줘야 한다.
s1=()
s2=(1,)
s3=(1,2,3,4)

튜플의 특징

  • 값이 변하지 않는다
  • 내부의 값을 변경하거나 삭제 할 수 없다.(튜플 전체는 삭제 가능)
  • 값이 중복될 수 있다.
  • 튜플의 생성 시 소괄호는 필요없음
  • 타입의 반환

튜플 인덱싱

  • 값에 접근하는 방법
t1=(1,2,3,4,5)
  
print('t1[0] : {t1[0]}')
print('t1[1] : {t1[1]}')
print('t1[3] : {t1[3]}')
print('t1[-1] : {t1[-1]}')
print('t1[-2] : {t1[-2]}')

튜플 슬라이싱

  • 튜플을 일정 부분 잘라서 새로운 튜플을 만들어 내는것
  • a[n:m]의 형태로 입력하여 n~m-1까지의 범위의 요소값을 새로운 튜플로 만들어 반환해준다.
a=(1,2,3,4,5)
b=a[0:2]
c=a[:]
d=a[:2]
e=a[2:]
  
print({a})
print({b})
print({c})
print({d})
print({e})
  
>>>
{(1, 2, 3, 4, 5)}
{(1, 2)}
{(1, 2, 3, 4, 5)}
{(1, 2)}
{(3, 4, 5)}

튜플 길이 구하기 및 튜플 더하기

  • 튜플의 길이는 len() 함수를 이용하여 구하면 된다.
  • 튜플의 더하기의 경우 서로 다른 튜플을 연결된 하나의 튜플로 만들어 준다.
a=(1,2,3,4,5)
b=()
c=(2,) // ,가 없으면 에러 발생
d=('','','',1) // 공백란도 그대로 출력이 된다.
  
result=a+b
result1=a+c
result2=a+d
result3=a+b+c+d
  
##튜플 더하기(+)
print(result)
print(result1)
print(result2)
print(result3)

##튜플 길이 구하기(len)
print(len(result))
print(len(result1))
print(len(result2))
print(len(result3))
>>>
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5, 2)
(1, 2, 3, 4, 5, '', '', '', 1)
(1, 2, 3, 4, 5, 2, '', '', '', 1)
5
6
9
10

튜플 곱하기(*)

  • 튜플의 곱하기의 경우 해당 횟수만큼 반복된 튜플을 만들어 준다.
a=(1,2,3,4,5)
b=('','','')
c=(2,)
d=('a','b')
  
result=a*2
result1=b*2
result2=c*2
result3=d*2
  
print(result)
print(result1)
print(result2)
print(result3)
  
>>>
(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
('', '', '', '', '', '')
(2, 2)
('a', 'b', 'a', 'b')

튜플 내부에 값 유무 확인(in)

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

if 1 in a:
  print ('yes')
else:
  print('no')
  
if '' in b:
  print ('yes')
else:
  print('no')
  
>>>
yes
yes

튜플 내부에 값이 몇개 있는지 확인(count)

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

print(a.count(1))
print (b.count(''))
print(d.count('c'))

>>>
1
3
0

tuple 타입의 반환

def get_info(burger, burger2, burger3):
    return burger, burger2, burger3

a = '베토디'
b = '불벅'
c = '상하이'
 
# 하나의 변수에 받음
result1 = get_info(a, b, c)
print(f'type(result1) = {type(result1)}') 
print('result1 = {result1}')
 
# 하나씩 받음
d, e, f = get_info(a, b, c)
print(d)
print(e)
print(f)
  
  
>>>
type(result1) = <class 'tuple'>
result1 = {result1}
베토디
불벅
상하이

tuple로 인한 스왑 (a<->b)

a1, a2 = (1,2)
print ('a1,a2=a1,a2')

b2,b1 = a1,a2
print ('b1,b2=b1,b2')
  
>>>
a1,a2=a1,a2
b1,b2=b1,b2

tuple의 반복문

t1=('h','e','l','l','o')
  
for i in t1:
	print(i,end="")
  
>>> hello

튜플의 중첩

t1=('a','b','c',('d','e'))
  
for i in t1:
	print(i)

print ('\n')
print (t1[0])
print (t1[1])
print (t1[2])
print (t1[3])
print ({t1[3][0]})
print ({t1[3][1]})
  
>>>
a
b
c
('d', 'e')


a
b
c
('d', 'e')
{'d'}
{'e'}

tuple타입변환

##리스트를 튜플로 변환
a1=[1,2,3,4,5,6]
a2=tuple(a1)

print(a2)

##문자열을 튜플로 변환
b1="abc"
b2=tuple(b1)

print(b2)

##딕셔너리를 튜플로 변환
c1={'bob':'gonggi','fork':'fork', 'burger':'베토디'}
c2=tuple(c1)
c3=tuple(c1.values())

print(c2)
print(c3)
  
>>>
(1, 2, 3, 4, 5, 6)
('a', 'b', 'c')
('bob', 'fork', 'burger')
('gonggi', 'fork', '베토디')
profile
history and study

0개의 댓글