Python에서 리스트를 순회하며 값을 치환할 때 for 문을 사용해도 되지만, 아래처럼 List Comprehension으로 For문을 단순화 할 수 있다.
아래는 리스트를 순회하며 True일 경우 1, False일 경우 0으로 치환하는 코드를 For문으로 작성한 경우이다.
# 기존 코드
coil_bit_list = list(coils.bits)
for i in range(0,len(coil_bit_list)):
if coil_bit_list[i]:
coil_bit_list=1
else:
coil_bit_list=0
아래는 List Comprehension을 사용하여 위의 코드를 단순화한 결과이다.
# 수정 코드
coil_bit_list = list(coils.bits)
result_list = [1 if bit else 0 for bit in coil_bit_list]
- coil_bit_list의 각 요소를 bit라는 임시 변수에 할당한다.
- 만약 bit가 참(True)인 경우에는 1을, 거짓(False)인 경우에는 0을 새로운 리스트에 추가한다.
반응형
'개발 (Development) > Python' 카테고리의 다른 글
[Python] 데코레이터 (0) | 2024.04.17 |
---|---|
[Python] try, except 문에서 Exception이 여러 개일 경우 (0) | 2024.04.17 |
[Python] 리눅스 환경에서 윈도우 환경으로 파일 저장 (SMB 프로토콜) (0) | 2024.04.12 |
[Python] 실행 시간 측정 (0) | 2024.04.02 |
[Python] Zip (0) | 2023.04.19 |