본문 바로가기
IT/Python Quiz

[Python] 초급 퀴즈23 - 리스트 컴프리헨션 심화

by Echinacea 2025. 2. 20.
반응형

 

 

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

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

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

A) [0, 2, 4, 6, 8]

B) [1, 3, 5, 7, 9]

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

D) [2, 4, 6, 8, 10]


 

 

🔹 문제 2: 조건을 포함한 리스트 컴프리헨션

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

numbers = [x for x in range(10) if x % 2 == 0]
print(numbers)

A) [0, 2, 4, 6, 8]

B) [1, 3, 5, 7, 9]

C) [2, 4, 6, 8, 10]

D) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


 

 

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

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

matrix = [[x for x in range(3)] for y 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]]


 

 

🔹 문제 4: 리스트 컴프리헨션과 enumerate() 활용

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

words = ["apple", "banana", "cherry"]
pairs = [(i, word) for i, word in enumerate(words)]
print(pairs)

A) [(0, 'apple'), (1, 'banana'), (2, 'cherry')]

B) ['apple0', 'banana1', 'cherry2']

C) [(1, 'apple'), (2, 'banana'), (3, 'cherry')]

D) [('apple', 0), ('banana', 1), ('cherry', 2)]


 

 

🔹 문제 5: 리스트 컴프리헨션과 zip() 활용

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

list1 = [1, 2, 3]
list2 = [4, 5, 6]
pairs = [(x, y) for x, y in zip(list1, list2)]
print(pairs)

A) [(1, 4), (2, 5), (3, 6)]

B) [(4, 1), (5, 2), (6, 3)]

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

D) [(1, 5), (2, 6), (3, 4)]


 

 

 

 

 

 

 

 

 

 

 

 

 

 

🔹 정답 및 해설

  1. A) [0, 2, 4, 6, 8]
    📌 설명: range(5)의 각 요소에 *2를 적용하여 [0, 2, 4, 6, 8]을 생성함.
  2. A) [0, 2, 4, 6, 8]
    📌 설명: if x % 2 == 0 조건을 추가하여 짝수만 포함된 리스트를 생성함.
  3. A) [[0, 1, 2], [0, 1, 2]]
    📌 설명: range(3)의 값이 [0, 1, 2]로 반복되는 리스트를 2번 생성함.
  4. A) [(0, 'apple'), (1, 'banana'), (2, 'cherry')]
    📌 설명: enumerate(words)는 인덱스와 값을 튜플로 반환하여 리스트를 생성함.
  5. A) [(1, 4), (2, 5), (3, 6)]
    📌 설명: zip(list1, list2)는 같은 인덱스의 값들을 짝지어 튜플 리스트를 반환함.

 

반응형

댓글