파이썬 튜플(Tuple) 사용법
파이썬에서 튜플이란 쉼표로 구분 된 객체의 모음입니다.
말로만 들으면 리스트와 비슷하다고 생각 되시겠지만 엄연한 차이가 있습니다.
그중 가장 두드러진 차이점은 바로 다음과 같습니다.
☞ 튜플은 생성 후 요소의 값이나 튜플의 크기를 변경할 수 없다.
☞ 리스트는 요소의 값이나 리스트의 크기를 언제 어디서든 변경 할 수 있다.
그렇다면 각각의 컨테이너(또는 객체)들은 어디에 어떻게 사용될까요?
보통 리스트는 요소들의 개수나 내용이 명확하지 않는 경우에 주로 사용합니다.
반면에 튜플은 요소들의 개수와 내용이 명확하기 때문에 요소 각각의 인덱스는 중요한 의미를 가지죠.
튜플의 기본 사용법입니다.
★ 튜플 객체 선언하기 - 예제 코드
tuple1 = ()
print(tuple1) # () 출력
튜플의 요소들의 집합은 리스트의 대괄호 '[ ]' 대신 소괄호 '( )'를 사용합니다.
또한 다음과 같이 선언할 수도 있습니다.
tuple1 = (1, 2)
tuple2 = 1, 2
print(tuple1) # (1, 2) 출력
print(tuple2) # (1, 2) 출력
위 예제 코드처럼 소괄호 '( )'를 사용하거나 사용하지 않고 선언할 수 있습니다.
* 단 단일요소(요소가 1개)인 경우에는 ,(콤마)를 사용해야 튜플로 선언할 수 있습니다.
tuple1 = 1 # ,(콤마)를 사용하지 않은 경우
tuple2 = 1, # ,(콤마)를 사용한 경우
print(tuple1) # 1 출력 (정수)
print(tuple2) # (1, ) 출력 (튜플)
또한 다음 예제 코드처럼 반복을 사용하여 튜플을 선언 할 수 있습니다.
tuple1 = ("Hello") * 3
tuple2 = ("Hello",) * 3
print(tuple1) # HelloHelloHello 출력
print(tuple2) # ('Hello', 'Hello', 'Hello') 출력
단, 위에서 설명했듯이 ,(콤마)를 사용하지 않는 경우 튜플로 선언되지 않습니다.
★ 튜플 합치기
다음 예제 코드와 같이 + 연산자를 사용하여 튜플을 기준 튜플 뒤에 붙일 수 있습니다.
tuple1 = (1, 2)
tuple2 = ("hi", "bye")
tuple3 = tuple1 + tuple2
print(tuple3) # (1, 2, 'hi', 'bye') 출력
다음 예제 코드처럼 튜플안에 튜플을 중첩시킬 수도 있습니다.
tuple1 = (1, 2)
tuple2 = ("hi", "bye")
tuple3 = (tuple1 , tuple2)
print(tuple3) # ((1, 2), ('hi', 'bye')) 출력
★ 튜플에서 요소 추가 및 변경 시도
위에서 설명했듯이 튜플은 생성 후 요소의 값이나 크기를 변경할 수 없다고했는데요,
파이썬에서 튜플에 요소를 추가, 변경하거나 크기를 변경했을 때 어떻게 되는지 알아보겠습니다.
다음 예제 코드는 튜플의 요소를 변경하려는 시도입니다.
tuple1 = (1, 2, 3, 4)
tuple1[0] = 3 # 오류발생!
# TypeError: 'tuple' object does not support item assignment
print(tuple1)
위 코드를 실행하면 튜플 객체는 아이템(요소) 할당이 불가능하다고 나옵니다.
튜플에 요소를 추가하려해도 리스트와 달리 append() 내부 함수가 존재하지 않습니다.
★ 튜플에서 슬라이스
리스트와 마찬가지로 튜플에서도 슬라이스를 제공하며 그 사용법 및 기능은 같습니다.
♧ 리스트 슬라이스 사용법 및 기능 확인하러가기 ☜ 클릭!
tuple1 = (1, 2, 3, 4)
tuple2 = tuple1[1:] # (2, 3, 4) 출력
tuple3 = tuple1[2:3] # (3, ) 출력
tuple4 = tuple1[0:3:2] # (1, 3) 출력
tuple5 = tuple4[::-1] # (3, 1) 출력
★ 튜플의 길이 구하기
튜플의 길이(크기)는 len()함수를 사용하여 간단하게 구할 수 있습니다.
tuple1 = (1, 2, 3, 4)
print(len(tuple1)) # 4 출력
★ 리스트를 튜플로 변환하기
tuple() 이라는 함수를 통해 리스트를 다음 예제 코드와 같이 변경할 수 있습니다.
list1 = [ 0, 1, 2, 3 ]
tuple1 = (tuple(list1))
print(tuple1) # (0, 1, 2, 3) 출력
tuple2 = (tuple("hello"))
print(tuple2) # ('h', 'e', 'l', 'l', 'o') 출력
질문 또는 오타나 잘못된 정보가 있는 경우 댓글로 달아주세요!
공감♡ 버튼을 눌러주시면 더욱 유용하고 좋은 포스팅으로 찾아 뵙겠습니다.
'Python' 카테고리의 다른 글
파이썬 파일 입출력 (0) | 2018.10.06 |
---|---|
파이썬 난수(random) 생성 (0) | 2018.09.24 |
파이썬으로 이메일 보내기(SMTP) (10) | 2018.09.22 |
파이썬 간단하게 코딩하기 (2) | 2018.09.19 |
파이썬 집합(Set) 자료형 사용법 (0) | 2018.09.18 |
파이썬 리스트 사용법2 - 활용 (0) | 2018.09.15 |
파이썬 리스트 사용법 (0) | 2018.09.14 |
파이썬 DB연동 - PyMySQL + MySQL (1) | 2018.08.18 |