Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- rabbitmq
- React
- SQL
- php
- docker
- fastapi
- NCP
- For
- Go
- python
- Switch
- Machine Learning
- mariadb
- linux
- 기초 수학
- nodejs
- laravel
- Backbone.js
- Babel
- CentOS
- AWS
- phpredis
- webpack
- javascript
- Node
- deep learning
- nginx
- Redux
- 블레이드 템플릿
- Redis
Archives
- Today
- Total
개발일기
Python - 반복문과 조건문을 결합한 List Comprehension 본문
728x90
반응형
List Comprehension은 리스트를 새로 생성할 때 사용하는 방법 중 하나이다. 반복문과 조건문을 결합하여 한 줄의 코드로 리스트를 생성할 수 있는 장점을 가지고 있다.
1. 기본 사용법
fruits = ['mango', 'banana', 'orange', 'lemon', 'apple']
# new_list =[표현식 for fruit in fruits]
new_list = [fruit for fruit in fruits]
print(new_list)
# ['mango', 'banana', 'orange', 'lemon', 'apple']
기본적으로 반복문 하나를 사용했을 때, 위와 같은 방법으로 리스트를 새로 생성할 수 있다.
표현식(expression)은 리스트의 각 요소를 생성하는데 사용된다. for in 반복이 진행될 때, 반환되는 요소를 new_list에 어떻게 추가할지를 정의할 수 있다. 위의 코드는 반횐되는 요소 그대로 new_list에 추가하지만 다른 식으로 변형하여 추가할 수 있다.
2. 표현식(Expression) 활용
fruits = ['mango', 'banana', 'orange', 'lemon', 'apple']
# new_list =[표현식 for fruit in fruits]
new_list = [fruit * 2 for fruit in fruits]
print(new_list)
# ['mangomango', 'bananabanana', 'orangeorange', 'lemonlemon', 'appleapple']
위와 같이 표현식에 2를 곱해주면 문자열이 두번씩 열거되도록 변형되어 새로운 리스트가 생성된다.
3. 조건문 추가
반복문 이외에도 조건문을 추가하여 list comprehension을 사용할 수 있다.
fruits = ['mango', 'banana', 'orange', 'lemon', 'apple']
new_list = [fruit for fruit in fruits if fruit != 'banana']
print(new_list)
# ['mango', 'orange', 'lemon', 'apple']
일반적인 for in 반복문은 fruits라는 배열 시퀀스 뒤에 : 를 붙이고 다음줄로 이동하여 코드를 추가하지만 list comprehension에서는 배열 시퀀스 뒤에 바로 조건문을 추가할 수 있다. 위의 조건을 토대로 리스트를 새로 생성하면 banana가 아닌 요소들만 반환되어 새로운 리스트를 생성할 수 있다.
참고 사이트:
https://www.w3schools.com/python/python_lists_comprehension.asp
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
Python - image file is truncated (2 bytes not processed) (0) | 2024.04.20 |
---|---|
Python - numpy계산의 기초 (0) | 2023.12.22 |
Python - Matplotlib 그래프의 기초 (0) | 2023.12.22 |
Python - Pydantic Model 생성 (2) | 2022.01.25 |
Python - Redis 연결 ( FastAPI ) (0) | 2021.12.07 |
Comments