반응형
문제 1
2차원 리스트에서 모든 요소를 하나의 리스트로 변환하는 리스트 컴프리헨션을 작성하세요.
🔹 입력 예시
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
🔹 출력 예시
[1, 2, 3, 4, 5, 6, 7, 8, 9]
문제 2
3차원 리스트를 1차원 리스트로 변환하는 리스트 컴프리헨션을 작성하세요.
🔹 입력 예시
cube = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
🔹 출력 예시
[1, 2, 3, 4, 5, 6, 7, 8]
문제 3
2차원 리스트에서 짝수만 포함하는 리스트를 리스트 컴프리헨션을 사용하여 생성하세요.
🔹 입력 예시
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
🔹 출력 예시
[2, 4, 6, 8]
문제 4
각 요소를 (값, 행번호, 열번호) 형태로 변환하는 리스트 컴프리헨션을 작성하세요.
🔹 입력 예시
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
🔹 출력 예시
[(1, 0, 0), (2, 0, 1), (3, 0, 2), (4, 1, 0), (5, 1, 1), (6, 1, 2), (7, 2, 0), (8, 2, 1), (9, 2, 2)]
문제 5
2차원 리스트를 전치행렬(Transpose)로 변환하는 리스트 컴프리헨션을 작성하세요.
🔹 입력 예시
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
🔹 출력 예시
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
✅ 정답과 해설
문제 1 정답
✅ 리스트 컴프리헨션 사용
flattened = [num for row in matrix for num in row]
✅ 리스트 컴프리헨션 사용하지 않음
flattened = []
for row in matrix:
for num in row:
flattened.append(num)
🔍 설명: 2차원 리스트를 1차원 리스트로 변환하는 코드입니다.
문제 2 정답
✅ 리스트 컴프리헨션 사용
flattened_3d = [num for layer in cube for row in layer for num in row]
✅ 리스트 컴프리헨션 사용하지 않음
flattened_3d = []
for layer in cube:
for row in layer:
for num in row:
flattened_3d.append(num)
🔍 설명: 3차원 리스트를 1차원 리스트로 변환합니다.
문제 3 정답
✅ 리스트 컴프리헨션 사용
even_numbers = [num for row in matrix for num in row if num % 2 == 0]
✅ 리스트 컴프리헨션 사용하지 않음
even_numbers = []
for row in matrix:
for num in row:
if num % 2 == 0:
even_numbers.append(num)
🔍 설명: 짝수만 선택하여 1차원 리스트로 변환합니다.
문제 4 정답
✅ 리스트 컴프리헨션 사용
indexed_matrix = [(matrix[i][j], i, j) for i in range(len(matrix)) for j in range(len(matrix[i]))]
✅ 리스트 컴프리헨션 사용하지 않음
indexed_matrix = []
for i in range(len(matrix)):
for j in range(len(matrix[i])):
indexed_matrix.append((matrix[i][j], i, j))
🔍 설명: 각 요소의 값과 (행, 열) 인덱스를 포함한 리스트를 생성합니다.
문제 5 정답
✅ 리스트 컴프리헨션 사용
transposed = [[row[i] for row in matrix] for i in range(len(matrix[0]))]
✅ 리스트 컴프리헨션 사용하지 않음
transposed = []
for i in range(len(matrix[0])):
new_row = []
for row in matrix:
new_row.append(row[i])
transposed.append(new_row)
🔍 설명: 행과 열을 바꿔 전치행렬을 생성합니다.
반응형
'IT > Python Quiz' 카테고리의 다른 글
[Python] 슬라이싱 특집 퀴즈2 (0) | 2025.02.20 |
---|---|
[Python] 슬라이싱 특집 퀴즈1 (0) | 2025.02.20 |
[Python] math.ceil() 활용 미니 코딩테스트 문제 (0) | 2025.02.20 |
[python] 2차원 리스트 코딩 퀴즈 (0) | 2025.02.20 |
[python] 리스트 컴프리헨션 코드 작성 연습3 (0) | 2025.02.20 |
[python] 리스트 컴프리헨션 코드 작성 연습2 (0) | 2025.02.20 |
[Python] 초급 퀴즈23 - 리스트 컴프리헨션 심화 (0) | 2025.02.20 |
[Python] 초급 퀴즈22 - 날짜와 시간 (datetime, time 모듈) (0) | 2025.02.20 |
댓글