Menu
Coddy logo textTech

매핑

Coddy의 Python 리스트 컴프리헨션 코스 레슨 — 9개 중 2번째.

숫자 리스트가 주어졌을 때, 모든 숫자의 세제곱 값을 담는 리스트를 계산하고 싶다고 가정해 봅시다.

nums = [1, 4, 6, 12, 3]
cubes = []
for n in nums:
	cubes.append(n ** 3)

print(cubes)  # [1 , 16, 36, 144, 9]

리스트 컴프리헨션(list comprehension)을 사용하면 이를 한 줄로 처리할 수 있습니다.

nums = [1, 4, 6, 12, 3]
cubes = [n ** 3 for n in nums]

print(cubes)  # [1 , 16, 36, 144, 9]

이러한 종류의 연산을 매핑(mapping)이라고 합니다. 즉, 기존 리스트의 각 요소에 함수를 적용하고 그 결과를 포함하는 새 리스트를 생성하는 것입니다.

구문은 다음과 같습니다.

lst = [expression for item in iterable]

lst는 리스트 컴프리헨션 연산의 결과로 생성된 새 리스트를 담게 됩니다.

challenge icon

챌린지

쉬움

숫자 리스트 nums가 주어질 때, 각 요소를 x라고 가정하고 다음 식을 사용하여 각 요소가 계산된 새로운 리스트를 구하세요: <strong>x<sup>3</sup>+2*x<sup>2</sup>+5</strong>

새로운 리스트를 new_nums라는 이름의 변수에 저장하세요.

직접 해보기

nums = eval(input())  # 이 줄을 수정하지 마세요

Python 리스트 컴프리헨션의 모든 레슨