파이썬 리스트 컴프리헨션

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 요청
  • 하나의 리스트를 여러개로 나누기
  • 문자열 공백 제거하기
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (727) N
      • 스마트팜 (1) N
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (18)
      • 일기장 (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)
  • 인기 글

  • 태그

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

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

티스토리툴바