언어/Python

[Python]List Comprehension(리스트 컴프리헨션)이란?

GAEBAL 2023. 4. 5. 21:37
728x90

List Comprehension이란?

List Comprehension이란

- 다양한 조건을 사용해 Iterable(반복 가능한) 오브젝트로 List를 생성할 수 있는 파이썬 문법임!

 

 

예제 코드 1

[i for i in range(5)]

결과

[0, 1, 2, 3, 4]

 

 

예제 코드 2

def solution(x):
    if x % sum([int(i) % 10 for i in str(x)]) == 0:
        return True
    else:
        return False

 

이 코드는 프로그래머스 Level 1 문제인 "히샤드 수"의 정답 코드이다.

https://seokmimmmmmmmm.tistory.com/243

 

[프로그래머스]히샤드 수 - Python

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘

seokmimmmmmmmm.tistory.com

보이는 것처럼 간단하게 리스트를 만들어서 그 리스트의 sum을 구하고 있다.

 

 

예제 코드 3

def solution(arr, divisor):
    tempArr = [i for i in arr if i % divisor == 0]

    if len(tempArr) == 0:
        return [-1]
    else:
        return sorted(tempArr)

이 코드는 프로그래머스 Level 1 문제인 "나누어 떨어지는 숫자 배열"의 정답 코드이다.

예제 코드 3에서 알 수 있듯이, List Comprehension을 사용하는 이유는 대괄호 내에서 수식이나 함수 적용도 가능하지만, if-else문을 적용할 수도 있다! 또 for문 두 개를 적용하는 등 다양하고 간편하게 쓸 수 있다!

 

 

 

결론

이처럼 List Comprehension을 쓰면 훠얼씬 간단하게 원하는 리스트를 생성할 수 있다.

처음엔 엥? 이게 뭐지? 할 수 있겠지만, 모르면 손해 !

 

- 참고: https://bio-info.tistory.com/28

728x90