본문 바로가기
파이썬

파이썬 list comprehension

by python pro 2023. 1. 25.
반응형

 

"Python list comprehension" 은 파이썬에서 리스트를 생성하는 간결하고 효율적인 방법입니다. 기존에는 for 문을 사용하여 리스트를 생성했지만, list comprehension 을 사용하면 간결하게 리스트를 생성할 수 있습니다.

 

아래는 list comprehension 을 사용하여 1~10 까지 숫자를 가진 리스트를 생성하는 예제입니다

# 기존 방법
numbers = []
for i in range(1, 11):
    numbers.append(i)
print(numbers)

# list comprehension
numbers = [i for i in range(1, 11)]
print(numbers)

 

list comprehension 을 사용하여 조건문을 활용할 수도 있습니다. 아래는 2로 나누어 떨어지는 숫자만 가진 리스트를 생성하는 예제입니다.

# 기존 방법
numbers = []
for i in range(1, 11):
    if i % 2 == 0:
        numbers.append(i)
print(numbers)

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

list comprehension 을 사용하면 코드를 간결하게 작성할 수 있지만, 길게 사용하거나 너무 복잡한 코드를 작성하면 이해하기 어려울 수 있으므로 적절히 사용하는 것이 좋습니다.

 

list comprehension 을 사용할 때는 반복문이 사용되는 데이터의 양이 적을 경우에만 사용하는 것이 좋습니다. 데이터가 많은 경우에는 list comprehension 을 사용하면 메모리를 많이 사용할 수 있기 때문입니다.

 

잘못된 코드 예시로는, list comprehension 을 사용하여 너무 복잡하게 작성하는 경우나, 이해하기 어려운 코드를 작성하는 경우가 있습니다. 좋은 코드를 작성하기 위해서는 간결하면서도 이해하기 쉬운 코드를 작성하는 것이 중요합니다.

 

아래는 실제 업무에서 사용될 수 있는 예제를 공유해드립니다.

 

CSV 파일에서 데이터를 읽어와 특정 컬럼의 값만 가진 리스트 생성

import csv

with open("data.csv", "r") as file:
    reader = csv.reader(file)
    # CSV 파일의 첫 번째 컬럼만 가진 리스트 생성
    data = [row[0] for row in reader]
    print(data)

 

 

JSON 파일에서 특정 키의 값만 가진 리스트 생성

import json

with open("data.json", "r") as file:
    data = json.load(file)
    # "name" 키의 값만 가진 리스트 생성
    names = [item["name"] for item in data]
    print(names)

 

 

문자열에서 특정 문자만 가진 리스트 생성

string = "Hello World!"
# 문자열에서 "o"만 가진 리스트 생성
characters = [c for c in string if c == "o"]
print(characters)

 

 

딕셔너리에서 특정 키만 가진 리스트 생성

data = { "name": "John", "age": 30, "city": "New York" }
# 딕셔너리에서 "name", "age" 키만 가진 리스트 생성
keys = [key for key in data if key in ["name", "age"]]
print(keys)

 

리스트에서 특정 조건을 만족하는 값만 가진 리스트 생성

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 리스트에서 3보다 큰 값만 가진 리스트 생성
greater_than_3 = [num for num in numbers if num > 3]
print(greater_than_3)
반응형

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

파이썬 클래스 정의하기  (0) 2023.01.26
파이썬 dictionary comprehension  (0) 2023.01.25
파이썬 표준 라이브러리 소개  (0) 2023.01.25
파이썬 정규표현식, 정규식  (0) 2023.01.25
파이썬 입력과 출력  (0) 2023.01.25

댓글