반응형
리스트 컴프리헨션(List Comprehension)사용방법 4가지
리스트 컴프리헨션은 파이썬의 강력하고 표현적인 기능 중 하나로, 간결한 코드로 새로운 리스트를 생성할 수 있게 해줍니다. 기본적으로, 리스트 컴프리헨션은 for 루프와 유사한 반복문을 한 줄의 코드로 축약하여 리스트를 만듭니다. 하지만, 너무 복잡하거나 긴 리스트 컴프리헨션은 코드의 가독성을 해칠 수 있으므로 적절하게 사용하는 것이 중요합니다.
1. 기본 구조 사용 : [expression for item in iterable]
- expression은 리스트에 추가될 새로운 요소입니다.
- item은 iterable에서 반복적으로 가져오는 변수입니다.
- iterable은 반복 가능한 객체(리스트, 튜플, 집합 등)입니다.
# 0부터 9까지의 숫자를 포함하는 리스트 생성
numbers = [x for x in range(10)]
print(numbers)
2. 조건문 추가: [expression for item in iterable if condition]
- condition은 expression을 리스트에 추가하기 전에 item이 만족해야 하는 조건입니다.
- 조건문은 선택적으로 사용될 수 있으며, 필요에 따라 여러 조건을 결합할 수 있습니다.
# 0부터 9 중 짝수만 포함하는 리스트 생성
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers)
# 0부터 9 중 2의 배수이면서 5보다 큰 숫자 포함
filtered_numbers = [x for x in range(10) if x % 2 == 0 if x > 5]
print(filtered_numbers)
반응형
3. 다중 반복문: [expression for item1 in iterable1 for item2 in iterable2]
- 두 개 이상의 반복문을 포함할 수 있으며, 중첩된 for 루프와 유사하게 작동합니다.
- 이 구조를 사용하면, 여러 개의 iterable에서 값을 조합하여 새로운 리스트를 만들 수 있습니다.
# 두 리스트의 모든 가능한 쌍을 생성
pairs = [(x, y) for x in [1, 2, 3] for y in [3, 1, 4] if x != y]
print(pairs)
4. 중첩 리스트 컴프리헨션: [[expression for item in iterable] for outer_item in outer_iterable]
- 리스트 컴프리헨션 내부에 또 다른 리스트 컴프리헨션이 포함될 수 있습니다.
- 이는 더 복잡한 데이터 구조를 생성하는 데 사용될 수 있습니다.
# 각 숫자에 대한 0부터 4까지의 곱을 포함하는 리스트 생성
matrix = [[x * y for y in range(5)] for x in range(3)]
print(matrix)
반응형
'코딩취미 > Python' 카테고리의 다른 글
[UnicodeDecodeError] CP949 문제해결 방법 및 인코딩방식 8가지 (0) | 2024.01.23 |
---|---|
[파이썬] 환경설정파일 (INI->JSON, INI->YAML) 파일 변환 및 불러오기 (0) | 2024.01.22 |
[파이썬] 클래스 private와 protected 메소드 사용방법 및 특징 (0) | 2024.01.16 |
[python] 파이썬 함수이름 동적생성 및 호출방법 10가지 (0) | 2024.01.07 |
파이썬 파일이동 os.rename, shutil.move 차이와 사용 방법 (0) | 2023.12.12 |