본문 바로가기
Python/개념

Day 3-2. 컬렉션 타입 - 튜플

by 사라리24 2024. 3. 13.
SMALL

1. 튜플

여러 가지 데이터 타입의 값을 저장할  있는, 변경 불가능(immutable)한 순서가 있는 컬렉션입니다.

컬렉션 생성함수 특징 예시
리스트 list() 추가, 수정, 삭제 언제나 가능 a = [1,2,3]
튜플 tuple() 생성되고 나면 변경 불가능 a =(1,2,3)
세트 set() 중복된 값의 저장 불가능 a ={1,2,3}
딕셔너리 dict() 키 + 값으로 관리 a ={'age':25}

 


1-1. 생성

 

 
  # 요소가 1개일 경우 끝에 컴마를 붙여야 함
 
  tu1 = (1,) 
  print(tu1)
  print(type(tu1))
 
(1,)
<class 'tuple'>

 

 
  
  tu2 = (1,3,4,6)
  print(tu2)
  print(type(tu2))
 
 
(1, 3, 4, 6)
<class 'tuple'>

 

  
  tu3 = tuple([1,3,5,7])
  print(tu3)
  print(type(tu3))
 
(1, 3, 5, 7)
<class 'tuple'>
 
  tu4 = 1,3,5,7
  print(tu4)
  print(type(tu4))
 
(1, 3, 5, 7)
<class 'tuple'>
 
  tu5 = ('apple','banna',('🍎','🍓'))
  print(tu5)
  tu5[0] = 'orange' #오류! 변경불가능!
  tu5 = 'orange' 
 

 

 

 


1-2. 인덱싱
 
 
  tu5 = ('apple','banna',('🍎','🍓'))
  print(tu5)
  print(tu5[0])
  print(tu5[2][0])
  print(type(tu5[2]))
  print(type(tu5[2][0]))
 
('apple', 'banna', ('🍎', '🍓'))
apple
🍎
<class 'tuple'>
<class 'str'>
 
  tu5 = ('apple','banna',('🍎','🍓'))
  print(tu5)
  tu5[0] = 'orange' #오류! 변경불가능!
  tu5 = 'orange' #새로운 튜플생성!
 

  tu5 = ('apple', 'banana', ['🍎:', '🍓'])
  print(tu5)
  print(tu5[2][0])

  tu5[2][0] = '🎁' #리스트라서 변경 가능
  print(tu5)

  tu5[2] = '🎈' #오류
  print(tu5)
  print(type(tu5))
  print(type(tu5[2]))
  print(type(tu5[2][0]))
 
('apple', 'banana', ['🍎:', '🍓'])
🍎:
('apple', 'banana', ['🎄', '🍓'])
<class 'tuple'>
<class 'list'>
<class 'str'>
 
  tu1 =(1,2,'apple','banana')
  print(tu1[0])
  print(tu1[-1])
 
1
banana

 

 


1-3. 슬라이싱
 
  
  tu1 =(1, 2, 'apple','banana')
  print(tu1[1:])
  print(tu1[1:3])
 
(2, 'apple', 'banana')
(2, 'apple')

 


1-4. 결합
 
  tu1 = (10, 20, 30)
  tu2 = (40, 50, 60)

  print(tu1 + tu2)
  print(tu2 + tu1)
  tu1 = tu1 + (40, 50)
  print(tu1
 
 
(10, 20, 30, 40, 50, 60)
(40, 50, 60, 10, 20, 30)
(10, 20, 30, 40, 50)

 

 


1-5. 반복
 
 
  tu1 = (10, 20, 30)
  print(tu1*3)
 
 
(10, 20, 30, 10, 20, 30, 10, 20, 30)

 

 


1-6. 산술
 
 
  tu3 = (10, 20, 30)
  print(tu3[0]+tu3[2])
 
 
40

 

 


1-7. 데이터 담기
 
  apple, banna, orange = ('김사과', '반하나','오렌지')
  print(apple)
  print(banna)
  print(orange)
 
  apple, banna, orange = '김사과', '반하나','오렌지'
  print(apple)
  print(banna)
  print(orange)
 
김사과
반하나
오렌지

 

 


1-8. IN 연산자
 
 
  print(2 in (2,4,6,8,10))
  print(3 in (2,4,6,8,10))
 
True
False

 

 


1-9. 정렬

 

튜플은 Sort() 가 존재하지 않는다!

sorted() 사용해야 한다.

 
  tu1 = (10, 30, 20, 70)
  tu1.sort() 
 
#오류: 변경불가능!
 
  tu1 = (10, 30, 20, 70)
 
  tu1=sorted(tu1)
  print(tu1)

  tu1 = tuple(tu1)
  print(type(tu1))
 
[10, 20, 30, 70]
<class 'tuple'>

 

2. input 함수

 

사용자 (개발자)에게 데이터를 입력받을 수 있는 함수
데이터는 항상 문자형(str)으로 입력됨

 


2-1. 입출력
 
  name = input()

  -----------------------------------------------------------
  (입력) 김사과
  -----------------------------------------------------------
 
  print(f'{name}님 안녕하세요')
 
김사과님 안녕하세요

 

 
  name, age, weight = input('이름, 나이, 몸무게를 띄어씌기로 구분하여 입력하세요').split(',')
 
 
  print(name)
  print(age)
  print(weight)
 
이름, 나이, 몸무게를 띄어씌기로 구분하여 입력하세요. 김사과, 20, 50

김사과
 20
 50
 
  num1 = input('첫번째 숫자를 입력하세요')
  num2 = input('두번째 숫자를 입력하세요')
  print('결과 : ',  int(num1) + int(num2))
  
 
  첫번째 숫자를 입력하세요 10 
  두번째 숫자를 입력하세요 5
  결과 : 15
 
  korean, english, math = input('국어, 영어, 수학점수를 /로 구분하여 입력하세요').split('/')
  result = (int(korean) + int(english) + int(math))/3
  print('당신의 평균은 {}점입니다.'.format(result))


국어, 영어, 수학점수를 /로 구분하여 입력하세요. 100/70/85
당신의 평균은 85.0점입니다.

 

 

 

 

 

 

 

 

 

 

 

'Python > 개념' 카테고리의 다른 글

Day 4-2. 컬렉션 타입 - 딕셔너리  (1) 2024.03.14
Day 4-1. 컬렉션 타입 - 세트  (0) 2024.03.14
Day 3-1. 컬렉션 타입 - 리스트  (0) 2024.03.13
Day 2-4. 과제  (0) 2024.03.12
Day 2-3. 문자열 다루기  (0) 2024.03.12