Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- EC2
- InfoObject
- ADSO
- 직매입
- VSCode
- docker
- 클라우드
- react
- GitHub
- Spring
- HANADB
- 파이썬
- 배포
- aws
- Git
- 깃허브
- SAP
- InfoCube
- Grafana
- Jenkins
- 특약매입
- DW
- Java
- Python
- BW4HANA
- JavaScript
- BW
- InfoProvider
- 자료형
Archives
- Today
- Total
개몽가
[Python] 튜플 (Tuple) 본문
튜플(Tuple) 특징
- 수정 O, 중복 O, 수정 X, 삭제 X ; immutable
- 선언 시 괄호 있어도 되고 없어도 됨
- 원소 한 개인 경우, 뒤에 콤마 있어야 튜플로 인식됨
- 수정 및 삭제 불가하지만 연산 가능
- 리스트와 동일하게 슬라이싱을 할 수 있는 시퀀스 특징 가짐
- 팩킹, 언팩킹 개념 존재
# 선언
a = ()
a2 = (1, 2, 3)
b = (1) # 원소가 하나일 때 튜플로 인식 안함. 끝이 ,로 끝나야 튜플로 인식함
b2 = (1,) # 튜플로 선언해서 immutable 한 변수로 선언
b3 = 1, # 괄호가 없어도 튜플로 인식함
# 튜플 수정 시도
a2[0] = 2
# 에러 발생; TypeError: 'tuple' object does not support item assignment
# 튜플 수정가능한 리스트로 형 변환
b = list(a2[-1]) #a2[-1] = 3
b[0] = 123
print(b) #123 출력
#튜플 연산 : 내부 원소가 변경 및 삭제되지 않는다면 연산을 통한 튜플 원소 갯수가 늘어나는 것은 허용함
c = (123, 456, 789)
a3 = (100, 1000, ('abc', 'cde'))
print(a3+c) #(100, 1000, ('abc', 'cde'), 123, 456, 789) 출력됨
print(c*3) #(123, 456, 789, 123, 456, 789, 123, 456, 789) 출력됨
#튜플 함수
a = (1, 2, 3, 4, 2)
print(a.index(3)) # 3의 인덱스는 몇이냐; 2 출력
print(a.count(2)) # 2의 갯수가 몇개 있냐; 2 출력
# 팩킹 & 언팩킹(packing, unpacking)
# 팩킹
t = ('abc', 'cde', 'egh') # 하나로 묶다
#언팩킹1
(x1, x2, x3) = t #묶여있던 것을 각각 풀어서 원소에 대입시키는 것, 괄호가 없어도 언팩킹이 이루어지긴 함
print(type(x1), type(x2), type(x3))
print(x1, x2, x3)
# 팩킹 & 언팩킹
t2 = 1, 2, 3 #괄호가 없어도 튜플임 ; 팩킹
t3 = 4, #원소 1개이지만 콤마 찍었지만 애도 튜플 ; 팩킹
x1, x2, x3 = t2 #언팩킹
x4, x5, x6 = 4, 5, 6 #언팩킹; 각각 원소를 할당
immutable 자료형이 필요한 경우
- mutable type와 달리 데이터 할당 공간이나 크기가 달라지지 않기 때문에 소프트웨어의 성능 향상에 도움이 됨
- 또한 데이터가 오염되지 않을 것이라는 보장을 할 수 있음; 프로그래머가 자기 코드를 신뢰할 수 있음
List vs. Tuple
List : 목록 형식의 데이터 다루는데 적합
Tuple : 위경도 좌표 또는 RGB 색상처럼 작은 규모의 자료구조에 적합
'Skill > Python' 카테고리의 다른 글
[Python] 자료형 리스트 (0) | 2021.07.27 |
---|---|
[Python] 파이썬 문자형, 슬라이싱 (0) | 2021.07.12 |
[Python] 파이썬 숫자형 (0) | 2021.07.07 |
[Python] 파이썬 지원 자료형 (0) | 2021.07.07 |
[Python] 변수 및 자료형, type, id 함수 (0) | 2021.07.04 |