리스트 컴프리헨션은 파이썬에서 제공하는 강력하고 간결한 기능으로, 기존 리스트를 기반으로 새로운 리스트를 생성할 수 있게 해줍니다.
리스트 컴프리헨션을 사용하면 더 짧고 읽기 쉬운 코드를 작성할 수 있습니다.
리스트 컴프리헨션은 다음과 같은 형식을 가집니다:
[표현식 for 아이템 in 반복가능한 객체]
예시 1: 기본 리스트 컴프리헨션
주어진 리스트의 각 요소를 제곱한 값을 가지는 새로운 리스트를 만들어보겠습니다.
numbers = [1, 2, 3, 4, 5]
squared_numbers = []
for num in numbers:
squared_numbers.append(num ** 2)
print(squared_numbers) # 출력: [1, 4, 9, 16, 25]
위 내용은 [1,2,3,4,5] 를 순회하며 [1^2, 2^2, 3^2, 4^2, 5^2] 인 리스트를 출력하는 코드인데요
이런 내용을 파이썬에서는 한 줄로 표현할 수 있어요!
numbers = [1, 2, 3, 4, 5]
squared_numbers = [num ** 2 for num in numbers]
print(squared_numbers) # 출력: [1, 4, 9, 16, 25]
예시 2: 조건을 포함한 리스트 컴프리헨션
리스트 컴프리헨션에는 조건문도 포함할 수 있습니다.
조건문을 사용하여 특정 조건을 만족하는 요소만을 선택할 수 있습니다.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []
for num in numbers:
if num % 2 == 0:
even_numbers.append(num)
print(even_numbers) # 출력: [2, 4, 6, 8, 10]
위 내용은 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 를 순회하며 짝수만 포함한 리스트를 출력하는 코드인데요
이 내용도 파이썬에서는 한 줄로 표현할 수 있어요!
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers) # 출력: [2, 4, 6, 8, 10]
예시 3: 중첩 리스트 컴프리헨션
리스트 컴프리헨션을 중첩하여 2차원 리스트를 1차원 리스트로 변환할 수도 있습니다.
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
flat_list = [num for row in matrix for num in row]
print(flat_list) # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9]
신기하죠?
이제 리스트 컴프리헨션에 대해 잘 이해할 수 있겠죠?
리스트 컴프리헨션은 파이썬에서 매우 유용한 기능으로, 더 효율적이고 깔끔한 코드를 작성하는 데 도움이 됩니다!