Eat Study Love

먹고 공부하고 사랑하라

SW 만학도/Jump to Python

Jump To Python 2장 연습 문제(2) [2]

eatplaylove 2022. 12. 6. 22:47

이어서 가보즈아

 

Q8.

# (1,2,3) 튜플에 값 4를 추가하여 (1,2,3,4)를 만들어 출력하라
 
 

b를 저렇게 하니까 튜플이 아니라 int라 더하기가 안 된다고 한다.

# a = (1,2,3)
# b=(4,)
# print(a+b)

b 옆에 공백을 넣어서 a+b를 출력하니까 되네. 쉬운듯 까다로운 Tuple의 세계

 

Q9.

# 다음과 같은 Dictionary a가 있다고 할 때, 오류가 발생하는 경우를 고르고 이유를 설명하라

# a=dict()
# 1.a['name'] = 'python'
# 2.a[('a',)]='python'
# 3.a[[1]]='python'
# 4.a[250]='python'

A. 3번 => 키 값으로 list, set 등 변하는 값을 설정하지는 못한다 => 몰랐넹;;

 그냥 나머지가 다 될 거 같아서 찍었다. 2번의 경우 tuple은 변하지 못하는 값이기에 키 값으로 설정이 가능하다고 한다.

 

다음은 3번을 실행시켰을 때 Error

Q10.

# # 딕셔너리 a 에서 'B'에 해당되는 값을 추출하라.
# # -딕셔너리의 pop함수를 이용하자

a={'A':90,'B':80,'C':70}
a.pop(0)
a.pop(2)
print(a.values())

pop이 값을 제거하는 함수 아니었나? 딕셔너리에선 추출로 쓰나보다.

 

a={'A':90,'B':80,'C':70}
# b=a.pop('B')
# print(a)
# print(b)

아, pop은 제거가 맞네 위와 같이 하니까 a.pop('B')에 해당하는 게 추출되어 a에는 빠지게 된다. 아래처럼!

조잡하지만 요렇게도 짜볼 수 있을라나?

# a={'A':90,'B':80,'C':70}

# pop = a.pop('A')
# pop = a.pop('C')
# print(a.values())

Q11.

# a 리스트에서 중복 숫자를 제거해 보아라
# a = [1,1,1,2,2,3,3,3,4,4,5]

# print(set(a))

그대는 SET(집합) 구조의 특징을 아는가~? 라는 문제. SET로 바꾸면 중복값은 자동제거

 

Q12.

# 파이썬은 다음처럼 동일한 값에 여러 개의 변수를 선언할 수 있다.
# 다음과 같이 a,b 변수를 선언한 후 a의 두 번 째 요소값을 변경하면 b값은 어떻게 되는가?
# 이유도 설명하라

# a=b=[1,2,3]

# b역시 두 번 째 요소값이 a와 같은 값으로 변경된다. 애초에 a와 b는 [1,2,3]이라는 튜플값에 해당하는 메모리에 대해서 동일한 주소를 할당받았기 때문이다.

 

이정도면 설명이 될려나 싶넹, 뭔가 머릿속에선 개념정리가 어느 정도 되는데 막상 글로 적으려니 살짝쿵 어렵다.

 

- E. O. D. -