Contents

리스트 컴프리헨션 (List Comprehension)

Contents

기존 리스트에서 약간의 변형이 필요하거나 필터링이 필요할 때, 리스트 컴프리헨션을 이용해 짧은 코드로 원하는 리스트를 손쉽게 만들 수 있습니다.


아래는 각 과일에 “new_“를 붙인 새로운 리스트를 만들었습니다.

>>> fruits = ['apple', 'banana', 'melon']
>>> ['new_' + fruit for fruit in fruits]
['new_apple', 'new_banana', 'new_melon']

필터를 적용해서, 조건에 맞는 원소로만 리스트를 만들 수도 있습니다.

>>> nums = [-1, -2, 5, 8, -5, 20]
>>> new_nums = [num * 2 for num in nums if num > 0]
>>> new_nums
[10, 16, 40]

기본 문법은 아래와 같습니다.

[<expression> for <variable_name> in <sequence> if <condition>]

위 문법을 풀어쓰면 아래와 같은 의미가 됩니다.

result = []
for variable_name in sequence:
    if condition:
        result.append(expression)


Related Content