파이썬 리스트 컴프리헨션

2024. 2. 1. 11:21·파이썬/Basic
반응형

파이썬 리스트 컴프리헨션은 리스트를 생성하는 간단하고 효율적인 방법입니다. 리스트 컴프리헨션은 for 루프를 사용하여 리스트를 생성하는 것과 유사하지만, 더 간결하고 읽기 쉽습니다.

 

기본 구조

리스트 컴프리헨션의 기본 구조는 다음과 같습니다.

[표현식 for 요소 in 시퀀스]
  • 표현식은 각 요소의 값을 지정합니다.
  • 요소는 시퀀스의 각 요소를 나타냅니다.
  • 시퀀스는 리스트를 생성할 요소를 포함하는 시퀀스입니다.

예제

다음은 리스트 컴프리헨션을 사용하여 1에서 10까지의 정수 리스트를 생성하는 코드입니다.

numbers = [i for i in range(1, 11)]

이 코드는 다음과 같이 작동합니다.

  1. range(1, 11) 함수를 사용하여 1에서 10까지의 정수 시퀀스를 생성합니다.
  2. for 루프를 사용하여 시퀀스를 순회합니다.
  3. i 변수에 각 요소의 값을 저장합니다.
  4. i 변수의 값을 numbers 리스트에 추가합니다.

이 코드는 다음과 같은 출력을 생성합니다.

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

표현식의 다양한 형태

리스트 컴프리헨션에서 표현식은 다음과 같은 다양한 형태로 사용할 수 있습니다.

  • 단순한 식
  • 함수 호출
  • 조건문
  • 중첩 리스트 컴프리헨션

단순한 식

numbers = [i for i in range(1, 11)]

이 코드는 i 변수에 각 요소의 값을 저장하는 단순한 식 i를 사용합니다.

 

함수 호출

numbers = [i * 2 for i in range(1, 11)]

이 코드는 i 변수의 값을 2배하는 i * 2 함수 호출을 사용합니다.

 

조건문

numbers = [i for i in range(1, 11) if i % 2 == 0]

이 코드는 i 변수의 값이 짝수인 경우에만 numbers 리스트에 추가하는 i % 2 == 0 조건문을 사용합니다.

 

중첩 리스트 컴프리헨션

numbers = [[i, i * 2] for i in range(1, 11)]

이 코드는 numbers 리스트에 두 개의 요소가 있는 리스트를 생성합니다. 각 요소의 첫 번째 요소는 i 변수의 값이고, 두 번째 요소는 i 변수의 값을 2배한 것입니다.

 

리스트 컴프리헨션의 장점

리스트 컴프리헨션은 다음과 같은 장점이 있습니다.

  • 간결하고 읽기 쉽습니다.
  • 효율적입니다.
  • 코드의 가독성을 높일 수 있습니다.

리스트 컴프리헨션의 단점

리스트 컴프리헨션은 다음과 같은 단점이 있습니다.

  • 복잡한 표현식을 사용할 경우 이해하기 어려울 수 있습니다.
  • for 루프를 사용하는 것보다 더 많은 메모리를 사용할 수 있습니다.
저작자표시 비영리 변경금지 (새창열림)

'파이썬 > Basic' 카테고리의 다른 글

Python에서 JSON과 Dictionary 간 변환하는 방법  (2) 2024.02.08
requests : 간편한 HTTP 요청  (0) 2024.02.05
하나의 리스트를 여러개로 나누기  (0) 2024.01.31
문자열 공백 제거하기  (1) 2024.01.27
딕셔너리에 키값을 검사하는 방법  (1) 2024.01.25
'파이썬/Basic' 카테고리의 다른 글
  • Python에서 JSON과 Dictionary 간 변환하는 방법
  • requests : 간편한 HTTP 요청
  • 하나의 리스트를 여러개로 나누기
  • 문자열 공백 제거하기
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    셀레니움
    상품 리뷰 크롤링
    C#
    긴유통기한우유
    라떼우유
    learntocode
    Python
    programming101
    ipcamera
    리뷰관리
    쇼핑몰리뷰
    codingcommunity
    devlife
    cv2
    믈레코비타멸균우유
    unity
    파이썬
    programmerlife
    list
    rtsp
    카페24리뷰
    리뷰이관
    스마트스토어리뷰
    codingtips
    리스트
    유니티
    스크립트 실행 순서
    appdevelopment
    카페24리뷰이관
    스크립트 실행
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
파이썬 리스트 컴프리헨션
상단으로

티스토리툴바