[python] for 문 앞에 표현식은 뭐지? (list comprehension)

아래와 같이 python의 for 문 앞에 표현식이 들어가 있는 경우가 있습니다.


a = [1, 2, 3, 4, 5]
b = [2 * i for i in a]

위 예시에서 리스트 b에 기술된 형태를 list comprehension이라고 합니다. list comprehension은 기존 리스트의 각 항목에 특정 연산을 수행하고 해당 결과를 새로운 리스트로 반환하고자 할 때 주로 사용합니다. 위 예시에서 리스트 a의 내용은 리스트 b 선언 구문에 의해 각 항목에 2를 곱한 값들로 이루어진 리스트가 반환되어 b에 저장이 되고 리스트 b의 내용은 아래와 같습니다.

[2, 4, 6, 8, 10]

또한 아래와 같이 특정 조건을 만족하는 원본 항목에만 연산을 적용할 수도 있습니다.

a = [1, 2, 3, 4, 5]
b = [2 * i for i in a if i % 2 == 0]

위 예시에서 리스트 b는 리스트 a에서 짝수만 골라 2를 곱하여 새로운 리스트 [4, 8]를 반환하게 됩니다. 


끝.

댓글

이 블로그의 인기 게시물

[PLC] PLC 아날로그 입출력 기본

NPN, PNP 트랜지스터 차이점

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

제너 다이오드에 저항을 연결하는 이유

3선 결선식 센서의 타입 PNP, NPN

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

커패시터에 저장된 에너지 계산

3상 모터 전력에서 전류 계산하기 (How to Convert Three-Phase Power to Amps)

[공압밸브] 5포트 2웨이 & 4포트 2웨이, 단동 VS 복동 차이점

[PLC] PLC 입출력 타입 - 싱크 & 소스 (Sink & Source)