프로그래밍/Python
[파이썬/python] [튜플] 기본원리
Rolen
2022. 9. 28. 22:36
[튜플]은 [리스트]처럼 여러 개의 요소를 가지는 컬렉션 자료형이다.
리스트와의 차이점
"튜플 내부의 객체를 변경하거나 삭제할 수 없고 순서를 바꿀 수 없다."
그럼에도 튜플을 사용하는 이유는 아래의 링크를 참고
https://fierycoding.tistory.com/59
[python]튜플, 왜 쓰는걸까?
튜플의 생김새는 아래와 같습니다. data = (1,2) 가장 흔하게 볼 수 있는 생김새는 다른 자료구조 내부에 element로 포함된 모양새입니다. data = [(1,2), (2,3), (3,4)] 그런데 왜 이 튜플 타입을 사용해야 하
fierycoding.tistory.com
>> 튜플 생성 <<
tuple = () # 빈 튜플
tuple = (10,) # 초기값이 하나인 경우 반드시 ,를 사용
# ,사용하지 않는 경우 출력비교
# tuple = (10) // 10
# tuple = (1,) // (10,)
tuple = (1, 2, 3, 4) # 기본적인 튜플 생성방법
tuple = 1, 2, 3, 4 # 간단한 튜플
# 리스트를 튜플로
lst = [1, 2, 3, 4]
tuple = tuple(lst) # (1, 2, 3, 4)
튜플 내부의 값을 가져오는 가장 기본적인 방법은 index를 이용한다. (리스트 index와 동일개념)
그러나, 값을 바꿀 수는 없다.
tuple = (1, 2, 3, 4)
print(tuple[0]) # 1
tuple[0] = 100 # 에러
>> 튜플의 패킹과 언패킹 <<
응용하여 값변경과 스왑 진행 예시
a = (1, 2) # 튜플 패킹
b, c = a # 튜플 언패킹
print(b) # 1
print(c) # 2
=======================================
튜플의 값 변경 (튜플 -> 리스트 -> 튜플)
num = (1, 2, 3)
cat[0] = 4 # 에러
cat = list(cat) # 리스트로 변경
cat[0] = 4
cat = tuple(cat) # 튜플로 변경
print(cat) # (4, 2, 3)
=======================================
값 swap하기
# 일반적인 swap
a = 10
b = 20
temp = a
a = b
b = a
print(f"a = {a}, b = {b}") # a = 20, b = 10
# 튜플을 이용한 swap
a = 100
b = 200
a, b = b, a
print(f"a = {a}, b = {b}") # a = 200, b = 100
>> 튜플의 연산 <<
a1 = (1, 2, 3)
a2 = a1 + a1
print(a2) # (1, 2, 3, 1, 2, 3)
a1 = (10, 20, 30)
a2 = a1 * 2
print(a2) # (10, 20, 30, 10, 20, 30)
a2 = a1 + 10 # 에러
a2 = a1 + (10,) # (10, 20, 10)
>> 튜플의 메소드 <<
# count(a) 튜플 내의 a개수 반환
# index(a) 튜플 내의 a의 위치반환. 중복값 존재시 첫 index 반환
t = (1, 2, 3, 3, 4)
t.count(3) # 2
t.index(3) # 2
* 함수에서 return 은 한가지만 반환이 되지만
두가지를 return 반환하도록 입력을 하면 튜플로 반환이된다.
* 튜플도 슬라이싱 가능
728x90