튜플 (tuple)
튜플은 리스트와 거의 비슷합니다.
1. 다양한 타입이 입력 가능합니다.
2. 인덱싱을 사용 할 수 있습니다.
3. 내장함수 len(X) 를 통해 길이 확인이 가능 합니다.
4. 슬라이싱도 사용 가능합니다.
기타 아직은 안배운 내용이 많이 있지만 많은부분이 리스트와 동일 합니다.
리스트에서 가능한건 대부분 가능 합니다.
# Code 1
# list 와 동일한 점
tup = (1, 1.2, "사과", (5,6,7)) # 다양한 타입 들어감
print(type(tup)) # 타입확인
print(tup) # 출력
print(len(tup)) # len 으로 길이확인
print(tup[2]) # 인덱싱
print(tup[-1]) # 인덱싱 리버스
print(tup[0:3]) # 슬라이싱
tup = tup + (3 ,5) # 튜플 더하기
print(tup) # 튜플 더하기 출럭
print(tup*3) # 튜플 곱하기
print(tup[3][1]) # 튜플 안에 튜플
리스트와 거진 비슷하 지만 큰 차이점이 있습니다.
1. 리스트는 대괄호([]) 를 통해 테이터를 감싸지만 튜플은 소괄호() 로 사용합니다.
2. 한번 생성된 튜플은 값을 변경 할 수 없습니다.
3. 튜플은 하나의 원소만 있는경우 튜플이 되지 않습니다.
- 가능한 방법은 있습니다. 한개의 원소 뒤에 콤마(,) 를 찍어주면 튜플이 됩니다.
4. 리스트는 대괄호[] 가 필수 이지만 튜플은 안써도 됩니다.
# Code 2
# list 와 동일한 차이점
tup_na = (1) # 하나의 객체로는 튜플이 안됩니다.
print(type(tup_na))
tup_na2 = (1,) # 하나의 객체로 튜플 만드는법
print(type(tup_na2))
tup = 1, 1.2, "사과" # 초기화 () 없어도 튜플로 인식
print(type(tup))
한번 생성된 튜플은 값을 변경 할 수 없습니다. 만약 변경한다면 아래와 같이 에러로 처리되어 실행이 되지 않습니다.
리스트에서 요소 삭제시 사용하던 "del" 도 사용이 불가능 합니다.
리스트와 너무나도 비슷한 튜플이였습니다.
어떻게 보면 리스트에 비해 제약만 있는 튜플을 꼭 사용해야 하냐라는 의문도 생길 수 있습니다.
리스트는 가변적(mutable:변경가능) 튜플은 불변적(immutable:변경불가능) 이 부분이 파이썬에서 리스트와 튜플을 구분 하는 유일한 차이점 입니다.
효율적인 관점에서 보면 튜플이 언제든 요소를 추가 삭제 변경이 발생할 수 있는 (이부분에 최적화 되어 있는) 리스트 보다는 좀더 공간 효율적입니다. 이 이유만으로도 튜플을 사용할 이유는 충분합니다.
그리고 특정값을 유지 시키는 편한 수단으로도 활용이 가능해 보이네요
'Python > Python 시작하기' 카테고리의 다른 글
11. 파이썬 자료형 - 집합 (set) (0) | 2019.12.17 |
---|---|
10. 파이썬 자료형 - 딕셔너리 (dictionary : dict) 자료형 (0) | 2019.12.16 |
8. 파이썬 자료형 - 리스트 (list) (0) | 2019.12.14 |
7. 파이썬 자료형 - 불 (bool) 자료형 (0) | 2019.12.14 |
6. 파이썬 자료형 - 문자열 포맷팅 (1) | 2019.12.13 |