16. tuple(튜플)
## 1. tuple(튜플) - tuple(튜플)은 불변한 순서가 있는 객체의 집합입니다. - list형과 비슷하지만 한 번 생성되면 값을 변경할 수 없습니다. - REPL에서…
wikidocs.net
1. tuple(튜플)
- tuple(튜플)은 불변한 순서가 있는 객체의 집합입니다.
- list형과 비슷하지만 한 번 생성되면 값을 변경할 수 없습니다.
- REPL에서 확인해봅니다.
- list와 마찬가지로 다양한 타입이 함께 포함될 수 있습니다.
>>> t = (1, "korea", 3.5, 1)
>>> t
(1, 'korea', 3.5, 1)
>>> type(t)
<class 'tuple'>
- 순서가 있기때문에 인덱스로 접근 가능합니다.
>>> t[0]
1
>>> t[1]
'korea'
- len내장함수로 길이를 구할 수 있습니다.
>>> len(t)
4
- list와 마찬가지로 for loop을 돌 수 있습니다.
>>> for i in t:
... print(i)
...
1
korea
3.5
1
- + 연산으로 tuple(튜플)을 추가할 수 있습니다.
>>> t = t + (3 ,5)
>>> t
(1, 'korea', 3.5, 1, 3, 5)
- * 연산으로 tuple(튜플)을 반복할 수 있습니다.
>>> t * 2
(1, 'korea', 3.5, 1, 3, 5, 1, 'korea', 3.5, 1, 3, 5)
- tuple(튜플) 속에 tuple이 포함될 수 있습니다.
>>> a = ((1 ,2) , (3,4), (5,9))
>>> a[2]
(5, 9)
>>> a[2][1]
9
- tuple(튜플)이 하나의 원소만 존재하는 경우는 tuple(튜플)이 되지않습니다.
- but 회피하는 방법이 있습니다. 한개의 원소 뒤에 콤마를 찍어주면 tuple이 유지됩니다.
>>> h = (350)
>>> type(h)
<class 'int'>
>>> h = (350,)
>>> type(h)
<class 'tuple'>
>>> len(h)
1
- 위에 예제들 속에서 tuple(튜플)은 '( )'를 입력했습니다만, 괄호가 필수 조건은 아닙니다.
>>> p = 1, 3, 2, 5, 7
>>> type(p)
<class 'tuple'>
- tuple(튜플)을 이용하여 함수에서 여러 값을 한꺼번에 리턴시킬 수 있습니다.
>>> def minmax(items):
... return min(items), max(items)
...
>>> minmax([7,5,2,1,11,15,55])
(1, 55)
- tuple(튜플)을 이용하여 변수를 한꺼번에 할당할 수 있습니다.(자바스크립트 ES6 해체할당과 비슷합니다.)
>>> lower, upper = minmax([7,5,2,1,11,15,55])
>>> lower
1
>>> upper
55
- tuple(튜플)속에 tuple(튜플)을 이용해 이러한 할당도 가능합니다.
>>> (a, (b,(c, d))) = (4,(3,(2,1)))
>>> a
4
>>> b
3
>>> c
2
>>> d
1
- 보통 다른언어에서 두 변수의 값을 서로 바꾸려면, 새로운 변수가 하나 필요하지만 파이썬에서는 튜플의 해체할당기능을 통해 바로 바꿔줄 수 있습니다.
>>> a = '감자'
>>> b = '고구마'
>>> a, b = b, a
>>> a
'고구마'
>>> b
'감자'
- tuple(튜플)변환 - tuple(iterable한객체)로 tuple(튜플)로 변형할 수 있습니다.
>>> tuple([1, 7, 5, 3, 9])
(1, 7, 5, 3, 9)
>>> tuple("abcde")
('a', 'b', 'c', 'd', 'e')
- in 절로 포함되어 있는지 체크할 수 있습니다.
1. 다음 중 튜플의 특징이 아닌 것은 무엇입니까?
- 불변한 순서가 있는 객체의 집합이다.
- 다양한 타입의 값들을 포함할 수 있다.
- 생성 후 값을 변경할 수 있다.
- 인덱스를 사용하여 접근할 수 있다.
2. 다음 코드의 출력 결과로 올바른 것은 무엇입니까?
t = (1, "korea", 3.5, 1)
print(t[2])
- 1
- "korea"
- 3.5
- (1, "korea", 3.5, 1)
3. 다음 코드 실행 후 t
의 값으로 올바른 것은 무엇입니까?
t = (1, 'korea', 3.5, 1)
t = t + (3, 5)
- (1, 'korea', 3.5, 1, 3, 5)
- (3, 5, 1, 'korea', 3.5, 1)
- (1, 'korea', 3.5, 1)
- ('korea', 3, 5, 1)
4. 다음 코드의 출력 결과로 올바른 것은 무엇입니까?
a = ((1 ,2) , (3,4), (5,9))
print(a[2][1])
- 1
- 4
- 5
- 9
5. 다음 코드 실행 후 type(h)
의 결과는 무엇입니까?
h = (350)
<class 'tuple'>
<class 'list'>
<class 'int'>
<class 'str'>
3 3 1 4 3
문제 1 정답: 3. 생성 후 값을 변경할 수 있다. 튜플은 한 번 생성되면 그 값을 변경할 수 없는 불변형 데이터 타입입니다. 따라서 튜플의 값은 생성 후 변경할 수 없습니다.
문제 2 정답: 3. 3.5 튜플 t의 세 번째 요소인 t[2]는 3.5입니다. 인덱스는 0부터 시작합니다.
문제 3 정답: 1. (1, 'korea', 3.5, 1, 3, 5) 튜플 t에 (3, 5)를 더하면, t의 값은 (1, 'korea', 3.5, 1, 3, 5)가 됩니다. 튜플 간의 더하기 연산은 두 튜플을 연결하여 새로운 튜플을 만듭니다.
문제 4 정답: 4. 9 튜플 a의 세 번째 요소인 a[2]는 (5, 9)입니다. 그 요소의 두 번째 값인 a[2][1]은 9입니다.
문제 5 정답: 3. <class 'int'> (350)은 튜플이 아니라 정수입니다. 하나의 요소만 있는 튜플을 만들려면 (350,)와 같이 뒤에 콤마를 붙여야 합니다. 따라서 type(h)의 결과는 <class 'int'>입니다.
코딩 문제
1. 다음 조건에 맞는 함수를 작성하십시오.
- 함수 이름:
minmax
- 인자: 리스트
items
- 반환값:
items
리스트의 최솟값과 최댓값을 튜플로 반환
def minmax(items):
return min(items), max(items)
# 예시
print(minmax([7, 5, 2, 1, 11, 15, 55])) # (1, 55)
2. 다음 조건에 맞는 코드를 작성하십시오.
tuple_a
와tuple_b
의 값을 서로 바꾸는 코드를 작성하십시오.tuple_a
와tuple_b
는 임의의 값으로 초기화되어 있습니다.
# 초기화 예시
tuple_a = (1, 2, 3)
tuple_b = ('a', 'b', 'c')
# 값을 서로 바꾸는 코드
tuple_a, tuple_b = tuple_b, tuple_a
# 결과 출력
print(tuple_a) # ('a', 'b', 'c')
print(tuple_b) # (1, 2, 3)
'Python > 파이썬 - 기본을 갈고 닦자!' 카테고리의 다른 글
#18. set(집합) (0) | 2024.05.29 |
---|---|
#17. dictionary(딕셔너리) (0) | 2024.05.28 |
#15. List(리스트)(5) - 리스트 정렬 (0) | 2024.05.27 |
#14. List(리스트)(4) - 리스트 원소 추가, 삭제 (0) | 2024.05.26 |
#13. List(리스트)(3) - 리스트 반복, 리스트 관련 메소드 (0) | 2024.05.26 |