Computer_Language/Python
[Python] 파이썬 리스트와 튜플의 차이
Joo-Topia
2019. 9. 5. 12:28
파이썬으로 코딩을 하다 보면 튜플(tuple)과 리스트(list)를 혼합해서 사용하곤 했다.
두 클래스에 공통적으로 적용되는 연산들이 많아서 더 혼용했던 것 같다.
오늘은 짧지만 간단하게 두 자료형의 차이점을 알아보려고 한다.
튜플 vs 리스트 실험
두 자료형 모두 정수형이나 문자열 같은 자료형에 상관없이 요소를 가질 수 있고, 둘 다 인덱스 연산자로 접근이 가능하다. 또한 두 자료형 모두 반복문에 사용할 수 있다.
list_d = [1,'2',3,'4']
tuple_d = ('1',2,'3',4)
print(list_d[0])
print(tuple_d[1])
for i in list_d:
print(i)
for i in tuple_d:
print(i)
나는 두 자료형의 차이점을 append 함수를 사용하다가 알게 되었는데 다음 코드를 보면 알 수 있다.
list_d.append(5)
print(list_d)
tuple_d.append('d')
print(tuple_d)
알고리즘 문제를 풀면서 발견했던 기억이 난다.
구글에 검색해서 조금 찾아보니 에러의 원인을 알 수 있었다.
리스트는 가변적이고 튜플은 불변적이라고 한다.
리스트는 요소들의 순서가 상관없을 때, 입력되는 요소들의 개수가 확실하지 않을 때 주로 사용하게 되며 그렇기에 append 함수가 존재한다.
튜플은 요소들의 순서가 중요하고, 입력되는 요소들의 갯수가 정해져 있을 때 사용하며 append함수나 인덱스 연산자로 인한 수정이 불가능하다.
사실 대부분 리스트를 쓰면 해결될 문제이긴 한데, 그냥 알아두면 좋을 것 같아서 정리해 보았다.
항상 이렇게 알아두면 유용(할 수도 있는)한 내용들은 정리를 하며 머릿속에 저장해야겠다.