반응형
파이썬 리스트 컴프리헨션은 리스트를 생성하는 간단하고 효율적인 방법입니다. 리스트 컴프리헨션은 for 루프를 사용하여 리스트를 생성하는 것과 유사하지만, 더 간결하고 읽기 쉽습니다.
기본 구조
리스트 컴프리헨션의 기본 구조는 다음과 같습니다.
[표현식 for 요소 in 시퀀스]
- 표현식은 각 요소의 값을 지정합니다.
- 요소는 시퀀스의 각 요소를 나타냅니다.
- 시퀀스는 리스트를 생성할 요소를 포함하는 시퀀스입니다.
예제
다음은 리스트 컴프리헨션을 사용하여 1에서 10까지의 정수 리스트를 생성하는 코드입니다.
numbers = [i for i in range(1, 11)]
이 코드는 다음과 같이 작동합니다.
- range(1, 11) 함수를 사용하여 1에서 10까지의 정수 시퀀스를 생성합니다.
- for 루프를 사용하여 시퀀스를 순회합니다.
- i 변수에 각 요소의 값을 저장합니다.
- i 변수의 값을 numbers 리스트에 추가합니다.
이 코드는 다음과 같은 출력을 생성합니다.
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
표현식의 다양한 형태
리스트 컴프리헨션에서 표현식은 다음과 같은 다양한 형태로 사용할 수 있습니다.
- 단순한 식
- 함수 호출
- 조건문
- 중첩 리스트 컴프리헨션
단순한 식
numbers = [i for i in range(1, 11)]
이 코드는 i 변수에 각 요소의 값을 저장하는 단순한 식 i를 사용합니다.
함수 호출
numbers = [i * 2 for i in range(1, 11)]
이 코드는 i 변수의 값을 2배하는 i * 2 함수 호출을 사용합니다.
조건문
numbers = [i for i in range(1, 11) if i % 2 == 0]
이 코드는 i 변수의 값이 짝수인 경우에만 numbers 리스트에 추가하는 i % 2 == 0 조건문을 사용합니다.
중첩 리스트 컴프리헨션
numbers = [[i, i * 2] for i in range(1, 11)]
이 코드는 numbers 리스트에 두 개의 요소가 있는 리스트를 생성합니다. 각 요소의 첫 번째 요소는 i 변수의 값이고, 두 번째 요소는 i 변수의 값을 2배한 것입니다.
리스트 컴프리헨션의 장점
리스트 컴프리헨션은 다음과 같은 장점이 있습니다.
- 간결하고 읽기 쉽습니다.
- 효율적입니다.
- 코드의 가독성을 높일 수 있습니다.
리스트 컴프리헨션의 단점
리스트 컴프리헨션은 다음과 같은 단점이 있습니다.
- 복잡한 표현식을 사용할 경우 이해하기 어려울 수 있습니다.
- for 루프를 사용하는 것보다 더 많은 메모리를 사용할 수 있습니다.
'파이썬 > Basic' 카테고리의 다른 글
Python에서 JSON과 Dictionary 간 변환하는 방법 (2) | 2024.02.08 |
---|---|
requests : 간편한 HTTP 요청 (0) | 2024.02.05 |
하나의 리스트를 여러개로 나누기 (0) | 2024.01.31 |
문자열 공백 제거하기 (1) | 2024.01.27 |
딕셔너리에 키값을 검사하는 방법 (0) | 2024.01.25 |