25-2아래 Python 프로그램의 출력 결과를 적으시오.nums = … | 2025년 정보처리기사실기 2회차 기출문제 상세 페이지
18
25-2
아래 Python 프로그램의 출력 결과를 적으시오.
nums = [2, 4, 6]
sq = {k: k * k for k in nums}
seen = set(sq.values())
nums[1] = 10
sq[6] = 16
seen.discard(4)
seen.add(10)
print(len(seen | set(sq.values())), sorted(seen & set(sq.values())))해설
4 [16]
[해설]
딕셔너리 컴프리헨션은 만들어지는 순간의 값으로 새 객체를 만들므로, 이후 nums를 바꿔도 sq에는 영향이 없다.
- sq = {2: 4, 4: 16, 6: 36}, seen = {4, 16, 36}
- nums[1] = 10: sq·seen과 무관
- sq[6] = 16 → sq의 값 집합은 {4, 16}
- seen에서 4를 빼고 10을 넣음 → seen = {10, 16, 36}
합집합 {4, 10, 16, 36}의 크기는 4, 교집합은 {16}이다. print는 둘을 공백으로 이어 4 [16]을 출력한다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.