본문 바로가기
CS(computer science) 지식/프로그래밍

[Python] 문제로 익히는 Python

by QueryJun 2025. 10. 30.

 

sort() vs sorted()

반환값 None (원본 수정) 새 리스트 반환
사용 대상 리스트만 가능 모든 반복가능 객체
원본 변화 ✅ 변경됨 ❌ 원본 변화 없음
문법 list.sort() sorted(iterable)

 

얕은 복사 (Shallow Copy)
객체의 주소만 복사 → 내부 데이터는 공유됨

a = [1,2,[3,4]]
b = a[:]
b[2][0] = 77
print(a)  # [1,2,[77,4]]



깊은 복사 (Deep Copy)
완전히 새로운 객체를 재귀적으로 복제
내부 리스트까지 분리됨 ✅

import copy

a = [1,2,[3,4]]
b = copy.deepcopy(a)
b[2][0] = 55
print(a)  # [1,2,[3,4]]  ← 영향 없음!



객체 참조와 메모리 구조 특징

b = a 대입 ✅ 공유
a[:], list(a) 얕은 복사 ✅ 공유
copy.copy(a) 얕은 복사 ✅ 공유
copy.deepcopy(a) 깊은 복사 ❌ 공유 X

 


 

1. 다음 중 Python의 불리언(Boolean) 타입 값이 아닌 것은?
A) True
B) False
C) 0
D) 1
E) None

2. 다음 코드 실행 결과로 옳은 것은?

a = "123" b = 123 print(a == b)


A) True
B) False
C) None
D) 1
E) TypeError


3. 다음 중 변경 불가능(immutable)한 자료형은?
A) list
B) dict
C) set
D) tuple
E) bytearray


4. 리스트에서 마지막 요소를 삭제하는 메서드는?
A) remove()
B) pop()
C) delete()
D) discard()
E) tail()

 

5. 다음 표현식의 결과는?

3 * "2"
 

A) 6
B) "222"
C) "6"
D) TypeError
E) 32

6. 다음 중 Python 함수 정의 키워드
A) function
B) def
C) fun
D) lambda
E) method

7. 다음 코드 결과는?

for i in range(2): 
	print(i, end=" ")


A) 0 1
B) 1 2
C) 0 1 2
D) 2 3
E) 오류 발생


8. 다음 중 함수 종료를 의미하는 키워드는?
A) break
B) continue
C) exit
D) return
E) pass


9. 다음 중 리스트 컴프리헨션(내포) 형식으로 올바른 것은?
A) [i for i in range(5)]
B) i for i in range(5)
C) (i for i in range(5)]
D) for i in range(5)
E) [range(5) for i]

10. 다음 코드 출력?

x = 0 for i in range(3): 
	x += i print(x)
 

A) 0
B) 1
C) 3
D) 6
E) 오류

11. 다음 중 딕셔너리(dict)의 특징으로 옳은 것은?
A) 순서 유지 불가
B) 키 중복 가능
C) 값 변경 불가
D) 키는 immutable 타입만 가능
E) 키에 리스트 사용 가능

Key-Value 쌍으로 데이터 저장

Key는 mutable(변경 가능한) 자료형 사용 불가
-> list, dict X → 튜플, 문자열, 숫자 O

Value는 어떤 타입도 가능 -> mutable/immutable 모두 가능

Value 변경 가능

Key 중복 불가

 

 

12. 다음 중 Set의 특징
A) 중복 허용
B) 순서 보장
C) mutable
D) 인덱스로 접근 가능
E) 문자열만 저장 가능



13. 예외 처리 구문 흐름으로 옳은 것은?
A) try → exception → end
B) try → except → finally
C) except → try → finally
D) try → catch → finally
E) try → continue → end


14. KeyError가 발생할 가능성이 높은 작업은?

d = {"a":1}

A) d["a"]
B) d.get("a")
C) d.pop("a")
D) d["b"]
E) "a" in d

15. 다음 중 파일 자동 close를 위해 사용하는 문법은?
A) include
B) using
C) open
D) with open
E) close

with open("test.txt", "r") as file:
    data = file.read()
    print(data)

 

16. import math 후, math.sqrt(16)의 결과는?
A) 2
B) 4
C) 8
D) 16
E) 오류


17. Python에서 타입이 실행 중에 결정되는 특성을 무엇이라 하는가?
A) 정적 타이핑
B) 동적 타이핑
C) 강타입
D) 약타입
E) 다형성


18. 다음 중 리스트 정렬 함수는?
A) sorted()
B) reverse()
C) arrange()
D) flip()
E) organize()

19. strip()의 기능은?
A) 문자열을 대문자로
B) 문자열 치환
C) 양쪽 공백 제거
D) 분리(split)
E) 반대로 출력

 

반응형