Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 파이썬예제
- 컴퓨터일반
- 자바예제
- 코딩공부
- 데이터베이스
- 운영체제종류
- 파이썬배열
- androidstudio
- 정처기
- 안드로이드
- 파이썬
- 정처기운영체제
- 바텀네비게이션
- 안드로이드스튜디오
- 코딩
- 파이썬공부
- int크기
- 스누핑
- 파이썬리스트
- 자바연산자
- 자바
- 백준
- 엑티비티
- 파이썬배열예제
- bottomnavigation
- java
- 업다운게임코드
- 정처산기
- 운영체제목적
- 정보처리산업기사
Archives
- Today
- Total
발전을 위한 기록
[Python] 파이썬 리스트 컴프리헨션(List Comprehension) 본문
728x90
리스트 컴프리헨션은 반복 객체에서 조건에 따라 새 리스트를 만드는 방식입니다.
리스트 컴프리헨션은 이 두 개념을 결합한 것으로, 기존 리스트나 다른 반복 가능한(iterable) 객체를 사용하여 새로운 리스트를 간결하고 효율적으로 생성하는 방법을 의미합니다.
📌리스트(List)
파이썬에서 '리스트'는 여러 값을 순서대로 저장하는 데이터 구조입니다. 배열이나 연속된 데이터를 나타내는 데 사용되며, 다양한 데이터 타입의 요소들을 포함할 수 있습니다. 파이썬의 리스트는 대괄호 [] 안에 요소들을 쉼표로 구분하여 나열합니다.
📌 컴프리헨션(Comprehension)
'컴프리헨션'이라는 단어는 '이해' 또는 '포괄'이라는 뜻을 가지고 있습니다. 프로그래밍에서는 이를 '특정한 집합이나 시퀀스를 생성하거나 변환하기 위해 그 구조를 이해하고 포괄하는' 과정으로 볼 수 있습니다. 즉, 기존의 데이터 구조를 바탕으로 새로운 구조를 간결하고 명확하게 생성하는 방법을 말합니다.
1. 기본 구조
[표현식 for 항목 in 반복가능객체]
- 표현식: 새로운 리스트에 넣을 각 요소의 값을 결정합니다. 이 값을 어떻게 계산하거나 변형할지를 정의합니다.
- 항목: 반복가능객체에서 순차적으로 가져오는 각 요소를 의미합니다.
- 반복가능객체: 기존에 가지고 있는 리스트나 튜플, 문자열 등으로, 여기서 하나씩 요소를 꺼내어 리스트 컴프리헨션을 수행합니다.
2. 예제
2-1. 기본적인 리스트 컴프리헨션
# 주어진 리스트
original_numbers = [1, 2, 3, 4, 5]
# 리스트 컴프리헨션을 사용하여 새 리스트 생성
doubled_numbers = [number * 2 for number in original_numbers]
# 결과 출력
print(doubled_numbers)
- 'number * 2' 가 새로운 리스트의 각 요소가 되는 값을 정의합니다.
출력결과
[2, 4, 6, 8, 10]
2-2. 조건문을 포함한 리스트 컴프리헨션
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers)
- numbers 리스트의 각 요소를 순회한다.
- 각 요소가 짝수인 경우에만 그 값을 새로운 리스트 even_numbers에 추가합니다.
- if num % 2 == 0 부분이 조건문으로, 이 조건을 만족하는 요소만 새로운 리스트에 포함됩니다.
출력결과
[2, 4, 6, 8, 10]
2-3. 문자열 리스트에서 특정 문자를 포함하는 요소만 추출하기
words = ["apple", "banana", "cherry", "date"]
a_words = [word for word in words if 'a' in word]
print(a_words)
- 문자열 리스트 words에서 각 요소를 순회합니다.
- 'a'라는 문자를 포함하는 요소만을 새로운 리스트 a_words에 추가합니다.
- 'a' in word는 각 문자열에 'a'가 포함되어 있는지를 체크하는 조건문입니다.
출력결과
['apple', 'banana', 'date']
2-4. 다른 리스트의 요소들을 변형하여 새로운 리스트 만들기
original = [1, 2, 3, 4, 5]
squared = [x ** 2 for x in original]
print(squared)
- original 리스트의 각 요소를 순회합니다.
- 요소의 제곱을 계산하여 새로운 리스트 squared에 추가합니다.
- 조건문 없이 단순히 리스트의 각 요소를 변형(transform)하는 경우를 보여줍니다.
출력결과
[1, 4, 9, 16, 25]
728x90
'프로그래밍 > 파이썬' 카테고리의 다른 글
[Python] 파이썬으로 파일 자동 분류하기 (0) | 2024.01.25 |
---|---|
[Python] 파이썬으로 txt 파일 단어 수 세기 (0) | 2024.01.24 |
[Python] 파이썬으로 리스트 길이 구하기 (0) | 2024.01.20 |
[Python] 파이썬 문자열 뒤집기 (0) | 2024.01.13 |
[Python] 파이썬 함수로 로또 번호 추첨하기 (0) | 2024.01.12 |