본문 바로가기
IT/Python Quiz

[Python] 초급 퀴즈19 - 리스트 컴프리헨션, map(), filter()

by Echinacea 2025. 2. 20.
반응형

 

 

🔹 문제 1: 리스트 컴프리헨션

다음 코드 실행 시 출력 결과를 예측하세요.

numbers = [x * 2 for x in range(4)]
print(numbers)

A) [0, 2, 4, 6]

B) [1, 3, 5, 7]

C) [0, 1, 2, 3]

D) [2, 4, 6, 8]


 

 

🔹 문제 2: map() 함수 활용

다음 코드 실행 시 출력 결과를 예측하세요.

def square(n):
    return n ** 2

nums = [1, 2, 3, 4]
result = list(map(square, nums))
print(result)

A) [1, 4, 9, 16]

B) [1, 2, 3, 4]

C) [2, 4, 6, 8]

D) [0, 1, 4, 9]


 

 

🔹 문제 3: filter() 함수 활용

다음 코드 실행 시 출력 결과를 예측하세요.

def is_even(n):
    return n % 2 == 0

nums = [1, 2, 3, 4, 5, 6]
result = list(filter(is_even, nums))
print(result)

A) [1, 3, 5]

B) [2, 4, 6]

C) [1, 2, 3, 4, 5, 6]

D) [0, 2, 4]


 

 

🔹 문제 4: 중첩 리스트 컴프리헨션

다음 코드 실행 시 출력 결과를 예측하세요.

matrix = [[j for j in range(3)] for i in range(2)]
print(matrix)

A) [[0, 1, 2], [0, 1, 2]]

B) [[0, 0], [1, 1], [2, 2]]

C) [[0, 1], [2, 3], [4, 5]]

D) [[0, 1, 2], [3, 4, 5]]


 

 

🔹 문제 5: map()과 lambda 함수 사용

다음 코드 실행 시 출력 결과를 예측하세요.

nums = [1, 2, 3, 4]
result = list(map(lambda x: x + 10, nums))
print(result)

A) [1, 2, 3, 4]

B) [10, 11, 12, 13]

C) [11, 12, 13, 14]

D) [20, 21, 22, 23]


 

 

 

 

 

 

 

 

 

 

 

 

🔹 정답 및 해설

  1. A) [0, 2, 4, 6]
    📌 설명: 리스트 컴프리헨션을 사용하여 range(4)의 각 요소에 *2를 적용하면 [0, 2, 4, 6]이 생성됨.
  2. A) [1, 4, 9, 16]
    📌 설명: map(square, nums)를 사용하여 리스트의 각 요소를 제곱한 새로운 리스트가 반환됨.
  3. B) [2, 4, 6]
    📌 설명: filter(is_even, nums)를 사용하면 짝수만 포함된 리스트 [2, 4, 6]이 반환됨.
  4. A) [[0, 1, 2], [0, 1, 2]]
    📌 설명: 중첩 리스트 컴프리헨션을 사용하면 [0, 1, 2]가 두 번 반복됨.
  5. C) [11, 12, 13, 14]
    📌 설명: map(lambda x: x + 10, nums)를 사용하면 리스트의 각 요소에 10을 더한 새로운 리스트가 반환됨.

 

반응형

댓글