프로그래밍/[ Python ]

[Python] List Comprehension

gooooooood 2024. 11. 12. 09:25
반응형

파이썬에서 자주 사용하는 기능 중 하나는 리스트 컴프리헨션(List Comprehension) 입니다. 이 기능은 기존의 리스트를 기반으로 새로운 리스트를 간결하고 효율적으로 생성할 수 있게 해줍니다.

# 1부터 10까지의 숫자 중 짝수만 추출하여 새로운 리스트 생성
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]

print(even_numbers)  # 출력: [2, 4, 6, 8, 10]

 

이 코드에서는 x for x in numbers if x % 2 == 0를 사용하여 리스트의 각 요소를 순회하면서 짝수인 값만 필터링하여 새로운 리스트를 만듭니다. 리스트 컴프리헨션을 사용하면 for문을 이용해 새로운 리스트를 만드는 것보다 코드가 간결하고 읽기 쉬워집니다.

 

리스트 컴프리헨션을 활용한 다양한 예시를 소개할게요. 각각의 예시는 파이썬에서 자주 사용되는 패턴을 기반으로 만들었습니다.

 

 

1. 1부터 20까지의 숫자 중 제곱수가 50 이하인 숫자 리스트 만들기

squares = [x**2 for x in range(1, 21) if x**2 <= 50]
print(squares)  # 출력: [1, 4, 9, 16, 25, 36, 49]

 

여기서는 1부터 20까지의 숫자 중 제곱한 값이 50 이하인 숫자들만 포함하는 리스트를 생성합니다.

 

 

2. 문자열 리스트에서 길이가 5 이상인 단어만 필터링하기

words = ['apple', 'bat', 'banana', 'cherry', 'date']
long_words = [word for word in words if len(word) >= 5]
print(long_words)  # 출력: ['apple', 'banana', 'cherry']

 

이 예시에서는 문자열 리스트에서 길이가 5 이상인 단어들만 뽑아내는 리스트 컴프리헨션을 사용했습니다.

 

 

3. 주어진 리스트에서 각 숫자에 10을 더한 값으로 새로운 리스트 만들기

numbers = [1, 2, 3, 4, 5]
incremented_numbers = [x + 10 for x in numbers]
print(incremented_numbers)  # 출력: [11, 12, 13, 14, 15]

 

이 코드는 주어진 numbers 리스트의 각 숫자에 10을 더하여 새로운 리스트를 만드는 예시입니다.

반응형

'프로그래밍 > [ Python ]' 카테고리의 다른 글

[Python] 예외처리 try, except  (0) 2024.11.14
[Python] map  (0) 2024.11.13
[Python] Files (파일 관련)  (1) 2024.02.26
[python] pass, continue, break 활용법  (0) 2021.06.20
[연결 리스트] 두 수의 덧셈  (0) 2021.03.03