오늘은 리스트에 이어서 튜플이닷 리스트랑 비슷하지만 변경이 불가능해 리스트보다는 괜찮았던 것 같다 (아니네 모르는 거 짱 많다)
공부는 계속하기,,,,

071 ~ 080
.answer {margin-top: 10px;margin-bottom: 50px;padding-top: 10px;border-top: 3px solid LightGray;bo…
wikidocs.net
# 2024 02 21 WED
# 071
# 비어있는 튜플 생성
my_variable = ()
print(my_variable)
# 072
# 영화 제목을 movie_rank 튜플에 저장
movie_rank = ("doctor strange", "split", "lucky")
print(movie_rank)
# 073
# 1 이 저장된 튜플 생성
one = (1)
print(type(one))
two = (1, )
print(type(two))
# 074
# 코드 오류 발생 원인 찾기
# t = (1, 2, 3)
# t[0] = 'a'
# 튜플은 순서는 있지만 변경이 불가능한 배열이므로 변경을 하면 에러가 발생한다.
# 075
# t가 바인딩하는 데이터 타입은 무엇
t1 = 1, 2, 3, 4
# int X tuple 타입을 바인딩
print(type(t1))
# 076
t2 = ('a', 'b', 'c')
print(t2)
t3 = (t2[0].upper(), t2[1], t2[2])
print(t3)
t2 = ('A', 'b', 'c')
print(t2)
# 077
# 튜플을 리스트로 변환
interest1 = ('삼성전자', 'LG전자', 'SK하이닉스')
interest2 = list(interest1)
print(interest1)
print(interest2)
# 078
# 리스트를 튜플로 변경
interest3 = ['삼성전자', 'LG전자', 'SK하이닉스']
interest4 = tuple(interest3)
print(interest3)
print(interest4)
# 079
# 코드 실행 결과 예상
temp = ('apple', 'banana', 'cake')
a, b, c = temp
print(a, b, c)
# ('apple', 'banana', 'cake') X
# apple, banana, cake
# 080
# 1~99까지 정수 중 짝수만 저장된 튜플 생성
data = tuple(range(2, 100, 2))
print(data)

내가 몰랐던 문법
1. 튜플
튜플은 변경할 수 '없는' 순서가 있는 데이터 타입이다. 괄호 '()'를 사용하여 튜플을 생성하며, 각 원소는 쉼표로 구분된다. 서로 다른 타입의 데이터도 하나로 그룹화할 수 있다.
2. 튜플 정의
튜플을 정의할 때는 괄호를 사용한다. 비어있는 튜플을 정의할 때는 괄호'()'만을 이용하면 된다. 하나의 원소를 튜플로 정의할 대는 원소 뒤에 쉼표를 붙여주어야 한다. 이는 원소와 쉼표가 튜플로 인식되도록 한다. 만약 쉼표를 붙이지 않고 원소를 정의하면 그냥 해당 데이터 타입 자체로 인식된다. 따라서 73번 문제에서 1을 튜플로 정의할 때 (1) 이렇게 정의하면 튜플이 아니라 1이라는 정수로 정의한다. 따라서 (1, ) 이렇게 정의해야 튜플로 정의되는 것이다. 또한 튜플은 괄호를 사용하여 정의하는 것이 일반적이지만 괄호 없이도 정의할 수 있다. 75번 문제처럼 원소들을 쉼표로 구분하여 나열하면 괄호 없이 튜플을 정의할 수 있다.
3. 76번 문제
t2 = ('a', 'b', 'c')
t3 = (t2[0].upper(), t2[1], t2[2])
튜플은 원소가 변경 불가능하다고 했지만 위 코드는 에러가 발생하지 않았다. 그 이유는 t3 튜플은 t2 원소를 이용해 새로운 튜플을 만들었기 때문이다. 위 경우는 기존의 튜플을 수정하는 것이 아닌 새로운 튜플을 생성하는 것이기 때문에 오류가 발생하지 않았다.
4. 튜플 언팩킹
튜플 언팩킹은 튜플의 원소를 개별 변수로 분할하여 할당하는 과정이다. 튜플의 각 원소에 접근하거나 튜플의 값을 여러 변수에 나누어 할당할 수 있다.
79번 문제
temp = ('apple', 'banana', 'cake')
a, b, c = temp
튜플 temp 의 세 개의 원소가 변수 a, b, c에 각각 할당된다. 즉 변수 a에는 apple이 변수 b에는 banana가 변수 c에는 cake가 할당되는 것이다. 튜플 언팩킹은 튜플의 길이와 할당받는 변수의 개수가 일치해야 한다. 그렇지 않으면 ValueError가 발생한다. 리스트의 경우에도 마찬가지로 언팩킹을 사용할 수 있다.
a = 1
b = 2
a, b = b, a # a와 b의 값이 서로 바뀜
언팩킹은 위 코드와 같이 변수 교환 작업을 간단하게 수행할 수 있다. (b, a)는 두 개의 값으로 이루어진 튜플이고 이 튜플을 언팩킹하여 변수 a에 b의 값을 변수 b에 a의 값을 할당하여 변수의 값을 서로 바꾼 것이다.
5. range() 함수
range() 함수는 일정한 범위의 정수들을 생성하는 데 사용한다.
기본 구문
range(start, stop, step)
- start: 범위의 시작을 나타내는 정수이다. 이 값은 생략할 수 있으며, 생략할 경우 0부터 시작된다.
- stop: 범위의 끝을 나타내는 정수이다. 이 값은 범위에 포함되지 않는다. 즉, 범위는 start 이상 stop '미만'의 값들로 구성된다.
- step: 각 정수들 간의 간격을 나타내는 정수이다. 이 값은 생략할 수 있으며, 생략할 경우 기본값으로 1이 사용된다.
range() 함수는 지정된 범위의 정수들을 생성하여 이터러블 객체인 range 객체를 반환한다. 이 객체는 실제로는 생성된 정수들을 모두 메모리에 저장하지 않고 필요한 정수들을 필요한 시점에 생성한다. 즉 range 객체의 내용을 직접 확인(출력) 하려면 이를 리스트나 튜플 등의 자료구조로 변환해야 한다.
'PYTHON > 초보자를 위한 파이썬 300제' 카테고리의 다른 글
| 06. 파이썬 딕셔너리 091 ~ 100 (1) | 2024.02.24 |
|---|---|
| 06. 파이썬 딕셔너리 081 ~ 090 (0) | 2024.02.22 |
| 04. 파이썬 리스트 061 ~ 070 (0) | 2024.02.20 |
| 04. 파이썬 리스트 051 ~ 060 (0) | 2024.02.19 |
| 03. 파이썬 문자열 041 ~ 050 (0) | 2024.02.18 |