튜플

튜플은 리스트와 사용법이 비슷하면서 약간 다르며 리스트는 대괄호([ ])로 생성하지만 튜플은 소괄호 ( )를 사용하여 생성한다. 또한 튜플은 값을 수정할 수 없으며, 읽기만 가능한 읽기 전용 자료를 저장할 때 사용한다.

  • 튜플 생성과 삭제 ```python tt1 = (10, 20, 30); tt1 tt2 = 10, 20, 30; tt2

#출력 (10, 20, 30) (10, 20, 30)

튜플은 소괄호()를 생략해도된다.


- ## 주의할 점
```python
tt3 = (10);
tt3
tt4 = 10;
tt4
tt5 = (10,); # <--
tt5
tt6 = 10,; # <--
tt6

#출력
'''
10
10
(10,) <--
(10,) <--
'''
# tt3, tt4는 튜플이 아닌 일반값
# 따라서 항목이 하나인 튜플을 만들 때는 tt5, tt6처럼 ,를 붙쳐야 한다.

튜플은 읽기 전용이다

tt1.append(40)
tt1[0] = 40
del(tt1[0])

#는 모두 오류가 발생

#하지만

del(tt1)
del(tt2)

#이 경우는 튜플 자체를 삭제가능


  • 튜플 사용
    튜플 항목에 접근할 때는 리스트처럼 튜플이름[위치]를 사용
    ```python tt1 = (10, 20, 30, 40) tt1[0] tt1[0] + tt1[1] + tt1[2]

#출력 ‘’’ 10 60 ‘’’

- 튜플 범위 접근  
튜플 범위에 접근하려면 리스트와 마찬가지로 `(시작값:끝값+1)`을 사용한다.  
```python
tt1[1:3]
tt1[1:]
tt1[:3]

#출력
'''
(20, 30)
(20, 30, 40)
(10, 20, 30)
'''
  • 튜플의 덧셈 및 곱셈 연산 ```python tt2 = (‘A’, ‘B’) tt1 + tt2 tt2 * 3

#출력 ‘’’ (10, 20, 30, 40, ‘A’, ‘B’) (‘A’, ‘B’, ‘A’, ‘B’, ‘A’, ‘B’) ‘’’


- ## 튜플과 리스트는 서로 변환 가능  
`list(튜플)`함수는 튜플을 리스트로 변환  
`tuple(리스트)`함수는 리스트를 튜플로 변환  
```python
#튜플 -> 리스트 -> 튜플
myTuple = (10, 20, 30)
myList = list(myTuple)
myList.append(40)
myTuple = tuple(myList)
myTuple

#출력
'(10, 20, 30, 40)'



1. 다음 중 파이썬의 데이터형이 아닌 것을 모두 고르시오.

short, bool, long, int, double, float, char, str

#short, long, char -- c언어


2. print() 함수에서 사용할 수 있는 서식

정수 %d
실수 %f
문자열 %s
문자 %c
(%d, %x, %o = 10진수, 16진수, 8진수)


3. 설명에 해당하는 함수 이름 채우기

input() 함수는 값을 입력받는데 사용된다. ~~~~~ 모든것을 문자열로 입력받기 때문에 숫자로 입력을 원한다면 변수 = int(input())

4. 산술연산자

몫만 남긴다. //
나머지만 남긴다. %
제곱을 계산 **

5. 종류가 다른 연산자

== 같다
!= 같지않다
> 크다
+= 대입연산자
< 작다
>= 크거나 같다
<= 작거나 같다

6. 조건문 결과 예측

a = 200
if a < 100:
    print("100보다 작군요.")

아무것도 출력 안됨 (001.py)

7. 반복문

for i in range(1, 10, 1): #1부터 9까지 1씩 증가
    # 이 부분 반복

9번
(002.py)

8. while문 ‘ㅎ’ 출력 갯수 예상

while True:
    print("ㅎ", end = " ")
    break

한번 (break문 때문)
(003.py)

9. 함수 선언과 함수 호출 채우기

def addValue(v1, v2):
    result = 0
    result = v1 + v2
    '1'return result

hap = '2'addValue(100, 200)
print("100과 200의 addValue() 함수 결과는 %d" % hap)

#' '빈칸 부분

(004.py)

10. 코드의 실행 결과 예상

def func1():
    var = 100
def func2():
    global var
    var = 200

var = 0
func1()
print(var)
func2()
print(var)

#출력
'''
0
200
'''

(005.py)

11. 코드의 결과에서 리스트 크기는?

lst = []
for i in range(0, 200):
    lst.append(0)
len(lst)

#200

(006.py)

12. 코드 출력 값

aa = [ 10, 20, 30, 40]
print(a[0])
print(a[-1])
print(a[1:3])
print(a[2:])

#변수명이 달라 출력 안됨
#올바르면
'''
10
40
[20, 30]
[30, 40]

(007.py)

13. 리스트 조작 함수

리스트에서 해당 값의 개수를 센다
count()
지정한 값을 찾아 위치를 반환
index() 리스트 내용을 새로운 리스트에 복사
copy()
리스트 맨 뒤의 항목을 빼낸다
pop()

14. 코드의 결과 예상

dataList = [data for data in range(1, 10) if num % 4 == 0]
print(dataList)

# num을 data로 변경

(008.py)

15. 딕셔너리 특성

  1. 중괄호 {}로 구성
  2. 키와 값의 쌍으로 구성
  3. 읽기 전용이다 (튜플)
  4. 키는 중복될 수 (없다)

16.set세트의 특성

  1. {}을 사용하지만 :는 없이 값을 입력
  2. 딕셔너리에서 값이 아닌 키만 모아 놓은 형태이다(중복되는 것은 자동으로 사라진다)
  3. 읽기 전용은 튜플
  4. 중복된 값은 존재하지 않는다.

17. 다음 코드의 결과 예상

myStr = '#'
myStr.join('IT쿡북')
print(myStr)

#출력
#

(009.py)

18. 튜플 특성

  1. 소괄호로 ()로 구성되어 있다.
  2. 리스트처럼 tup[3]형태로 접근 가능
  3. 읽기전용이지만, append()함수를 사용하여 데이터를 추가할 수 없다.
  4. 읽기 전용이므로 del(tup)처럼 튜플 자체를 삭제하려고하면 오류가 발생한다.?는 틀린 말 삭제 가능

12