DevSSOM
파이썬 기초 - 튜플 자료형 본문
반응형
여러 자료를 담는 자료형이 필요하면?
대부분 리스트를 이용함.
하지만, 리스트는 값이 바뀔 위험이 있어. 아래처럼 코드 한 줄로 바뀌잖아.
my_list = ['l', 'i', 's', 't']
my_list[1] = 'a'
print(my_list) # ['l', 'a', 's', 't']
그래서 값을 바꿀 수 없으면서도, 여러 자료를 담을 수 있는 자료형
-> 튜플을 사용하는 것.
튜플(Tuple)
튜플은 소괄호 ( )를 이용해서 표시.
tuple_zero = () # 빈 튜플
tuple_one = (1,) # 이게 튜플인데 원소가 하나밖에 없는 것 뿐이야 라는 걸 알려주기 위해 , 표시
tuple = (1, 2, 3, 4, 5)
tuple = 1, 2, 3, 4, 5 # 괄호로 안 묶고 나열해서 써도 알아서 튜플로 인식해
튜플 또한 시퀀스 자료형으로 인덱스를 이용해서 인덱싱 하거나 슬라이싱 하는 것도 가능,
in 연산자로 튜플 안에 원소도 확인할 수 있고, len() 함수로 길이 확인하는 것도 OK.
my_tuple = ('a', 'b', 'c', 'd', 'e')
print(my_tuple[1]) # 'b'
print(my_tuple[2:4]) # ('i', 'c')
print('t' in my_tuple) # True
print(len(my_tuple)) # 5
+ 연산자로 튜플과 튜플을 연결할 수도 있고, * 연산자로 반복할 수도 있음.
my_tuple = ('i', 'c', 'e')
print(('c', 'h', 'o') + my_tuple) # ('c', 'h', 'o', 'i', 'c', 'e')
print(my_tuple * 2) # ('i', 'c', 'e', 'i', 'c', 'e')
여기까지만 보면, 어? 튜플이랑 리스트랑 다를 게 없는데? 라고 생각할 수 있지만
한 번 만들어지면 그대로 박제됨. 더 이상 수정할 수 없음.
my_tuple = ('c', 'h', 'o', 'i', 'c', 'e')
print(my_tuple.append('!')) # 에러
print(my_tuple.remove('o')) # 에러
my_tuple[1] = 'e' # 에러
이게 바로 튜플과 리스트의 차이
my_tuple = (1, 2, 3)
my_list = [1, 2, 3]
my_tuple.append(4) # 에러
my_tuple.pop() # 에러
my_tuple[0] = 4 # 에러
my_list.append(4) # OK
my_list.pop() # OK
my_list[0] = 4 # OK
연습문제
1. 숫자 1, 2, 3, 4, 5 가 담긴 튜플 my_tuple을 선언.
2. my_tuple의 인덱스2의 원소를 변수 var1에 넣어.
3. my_tuple의 인덱스 1, 2, 3의 원소를 슬라이싱해서 변수 var2에 넣어.
4. my_tuple의 길이를 변수 var3에 넣어.
my_tuple = (1, 2, 3, 4, 5)
var1 = my_tuple[2] # 3
var2 = my_tuple[1:4] # (2, 3)
var3 = len(my_tuple) # 5
728x90
반응형
'Python > 기초' 카테고리의 다른 글
파이썬 기초 - 모듈 (1) | 2021.06.08 |
---|---|
파이썬 기초 - 매개변수와 인자 (0) | 2021.06.08 |
파이썬 기초 - 전역변수와 지역변수 (0) | 2021.06.08 |
파이썬 기초 - 메소드 (0) | 2021.06.08 |
파이썬 기초 - 함수 (0) | 2021.06.08 |
파이썬 기초 - 딕셔너리 자료형 (0) | 2021.06.08 |
파이썬 기초 - 문자열 / 리스트 활용 (0) | 2021.06.07 |
댓글