1. 튜플(Tuple)과 리스트(List)의 차이는?
튜플(Tuple)은 리스트와 같이 여러 개의 데이터를 담아주는 자료형 구조로, 리스트와 비슷한 기능을 합니다.
하지만 리스트는 '[', ']'를 사용하는 반면, 튜플은 아래 코드와 같이 '(', ')'을 사용합니다.
list1 = [1, 2, 3, 4, 5]
tuple1 = (1, 2, 3, 4, 5)
한편, 튜플은 리스트보다 처리 속도가 더 빠르다고 하는데요, 데이터가 엄청 많을 때 튜플의 처리 속도가 더 빠르다는 것을 확인할 수 있습니다.
또한, 리스트는 데이터를 추가하거나 수정 및 변경이 가능한데요, 튜플은 처음에 지정하고 그 이후에 수정 및 변경이 불가능하답니다. 따라서 튜플의 원소를 수정하려고 하면 아래와 같이 에러가 나는 것을 확인할 수 있습니다.
tuple1[0] = 10 #첫번째 원소를 바꾸는 코드
TypeError Traceback (most recent call last)
<ipython-input-32-14e162ff7442> in <module>
----> 1 tuple1[0] = 10
TypeError: 'tuple' object does not support item assignment
위 에러내용을 보면 '튜플' 형식은 항목 수정을 지원하지 않음을 알 수 있습니다.
2. 튜플 인덱싱
한편, 튜플을 인덱싱 할 땐 리스트를 인덱싱 할 때와 같이 동일하게 하면 되는데요, 만약 tuple1 이라는 튜플에서 첫 번째 원소를 인덱싱 하고 싶다면 다음과 같이 입력하면 됩니다.
tuple1 = (1, 2, 3, 4, 5)
print(tuple1[0])
0
또한 특정 범위도 지정해서 인덱싱 할 수 있습니다.
print(tuple1[1:3])
(2, 3)
3. 튜플을 리스트로, 리스트를 튜플로
한편, 각 특성에 맞게 튜플과 리스트 형식을 사용하면 되는데요, 만약 튜플을 리스트로, 리스트롤 튜플로 바꾸고 싶을 수 있습니다. 변경 방법은 매우 간단한데요, 아래 코드처럼 입력하면 됩니다.
#tuple to list
tuple1 = (1, 2, 3, 4, 5)
new_list = list(tuple1)
print(new_list)
print(type(new_list))
[1, 2, 3, 4, 5]
<class 'list'>
간단하게 list() 안에 tuple 데이터를 넣으면 list로 변환이 되는데요, 변경 후 type을 살펴보면 리스트로 바뀌었음을 확인할 수 있습니다.
반면, 리스트를 튜플로 변경하는 방법도 동일합니다.
#list to tuple
list1 = [1, 2, 3, 4, 5]
new_tuple = tuple(list1)
print(new_tuple)
print(type(new_tuple))
1, 2, 3, 4, 5)
<class 'tuple'>
마찬가지로 tuple() 안에 리스트 데이터를 넣으면 튜플 형식으로 전환된답니다.
이렇게 튜플에 대한 기능을 전반적으로 알아보았는데요, 상황에 맞게 잘 사용하시기 바랍니다!
'BLOG > 파이썬 기초' 카테고리의 다른 글
[파이썬] 텍스트 파일 / 메모장 불러와 읽기 (0) | 2021.03.09 |
---|---|
[파이썬] while 문 - break 와 continue 사용하기 (0) | 2021.03.09 |
[파이썬] Boolean이란? bool 자료형 알아보기(True/False) (0) | 2021.03.09 |
[파이썬] 인덱스 반환 함수 - enumerate() 란? (0) | 2021.03.09 |
[파이썬] 리스트 안에 있는 데이터 빈도 수 구하기 - Counter() (0) | 2021.03.09 |