ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 - 리스트 컴프리헨션
    개발 2024. 5. 3. 13:12

    개인적으로 파이썬은 가독성이 좋은 언어라고 생각하는데 가독성을 돕는 대표적인 기능이 리스트 컴프리헨션이다

     

    리스트 요소들에 제곱 값을 새로운 리스트로 만들기 위해선 아래 코드처럼 map 이라는 함수를 사용해서 구현하는데

    numbers = [1, 2, 3, 4, 5]
    
    square_numbers = map(lambda num: num**2, numbers)

     

    리스트 컴프리헨션을 사용하면 함수없이 구현할 수 있다. 

     

    square_numbers = [num**2 for num in numbers]

     

    처음 사용할 때는 문법이 익숙하지 않을수도 있다. 연산이 먼저 나오고 뒤에 for 문이 나오는 문법이 대부분 프로그래머한테 익숙한 형태는 아니다. 그런데 자주 사용하다보면 따로 함수를 만들지 않아도 되기 때문에 편하게 쓸 수 있다. 

     

    추가로 조건문을 넣어서 필터링 기능도 만들수 있다. 아래 코드에서는 리스트 컴프리헨션에서 int 조건문을 추가해서 정수인 값만 필터링을 걸도록 했다. 

     

    data = [1, 2, 3, '123']
    data = [item for item in data if isinstance(item, int)]
    
    print(data) # [1, 2, 3]

     

     

    리스트 컴프리헨션을 두개 겹쳐서 사용할 수도 있다. 아래 코드처럼 a, b 모든 연소들에 대해서 곱한 리스트를 만들수 있다. 

     

    a = [1, 3, 5]
    b = [2, 4, 6]
    
    print([item_a * item_b for item_a in a for item_b in b])

     

    그런데 이렇게 만들면 조금 복잡해지는것 같긴 하다. 여기서부턴 각자 판단에 맞춰서 사용하는걸 추천...

    '개발' 카테고리의 다른 글

    [python] __all__ 을 이용해 전체 임포트 막기  (0) 2024.05.08
    __init__.py 를 이용한 모듈 관리  (0) 2024.05.08
    Session, Cookie, CSRF  (0) 2023.06.03
    python - async def, asyncio  (0) 2023.06.03
    Redis는 왜 다른 DB보다 빠를까  (0) 2023.03.16

    댓글

Designed by Tistory.