개발일기

Python - 반복문과 조건문을 결합한 List Comprehension 본문

프로그래밍 언어/Python

Python - 반복문과 조건문을 결합한 List Comprehension

Flashback 2024. 12. 30. 16:48
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://wikidocs.net/215580

 

8-3-1. 리스트 내포 (List comprehension)에 대해 설명해 줘

리스트 내포(List Comprehension)는 파이썬에서 리스트를 생성하고 초기화하기 위한 간결하고 효율적인 방법 중 하나입니다. 리스트 내포를 사용하면 반복문과 조건문을 결…

wikidocs.net

 

https://www.w3schools.com/python/python_lists_comprehension.asp

 

W3Schools.com

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

728x90
반응형
Comments