Python 개념

리스트 컴프리헨션

whateveryouwish 2024. 7. 22. 19:13

04. 리스트 캄프리헨션

  • 1) 리스트 캄프리헨션이란?
    • 리스트 캄프리헨션은 파이썬에서 리스트를 간결하게 생성하는 방법 중 하나입니다.
    • 보통 반복문과 조건문을 사용하여 리스트를 생성할 때 사용됩니다.
    • 이는 코드를 더 간결하고 가독성 있게 만들어 줍니다.
    • 리스트 캄프리헨션은 파이썬의 강력한 기능 중 하나로, 데이터 처리 및 변환에 유용하게 활용됩니다.
    • 기본적인 구조는 아래와 같습니다.

 

# 기본적인 구조 :
[표현식 for 항목 in iterable if 조건문]

 

  • 2) 리스트 캄프리헨션 예제
    • 위 예시에서 **표현식**은 각 항목에 대한 계산이나 변환을 의미하고, **항목**은 반복되는 값이며, **iterable**은 반복 가능한 객체입니다.
    • **if 조건문**은 선택적으로 사용될 수 있으며, 조건이 참일 때만 해당 항목을 결과 리스트에 추가합니다.
    • 리스트 캄프리헨션은 루프문과 비교했을 때 코드가 간결하고 가독성이 좋으며, 데이터 처리 및 변환 작업을 더 효율적으로 수행할 수 있도록 도와줍니다.
# 예시: 1부터 10까지의 숫자를 제곱한 리스트 생성
squares = [x**2 for x in range(1, 11)]
print(squares)  # 출력: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# 예시: 리스트에서 짝수만 선택하여 제곱한 리스트 생성
even_squares = [x**2 for x in range(1, 11) if x % 2 == 0]
print(even_squares)  # 출력: [4, 16, 36, 64, 100]

# 예시: 문자열 리스트에서 각 문자열의 길이를 저장한 리스트 생성
words = ["apple", "banana", "grape", "orange"]
word_lengths = [len(word) for word in words]
print(word_lengths)  # 출력: [5, 6, 5, 6]

# 예시: 리스트 컴프리헨션을 중첩하여 2차원 리스트 생성
matrix = [[i for i in range(1, 4)] for j in range(3)]
print(matrix)  # 출력: [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
  • 위 예시에서 **표현식**은 각 항목에 대한 계산이나 변환을 의미하고, **항목**은 반복되는 값이며, **iterable**은 반복 가능한 객체입니다.
  • **if 조건문**은 선택적으로 사용될 수 있으며, 조건이 참일 때만 해당 항목을 결과 리스트에 추가합니다.
  • 리스트 캄프리헨션은 루프문과 비교했을 때 코드가 간결하고 가독성이 좋으며, 데이터 처리 및 변환 작업을 더 효율적으로 수행할 수 있도록 도와줍니다.

'Python 개념' 카테고리의 다른 글

알고리즘의 시간 복잡도 - Big-O 표기법  (0) 2024.09.04
Enumerate 개념  (0) 2024.09.04
List append, extend, insert 개념  (0) 2024.09.04
JUPYTER NOTEBOOK 활용법  (0) 2024.08.08
기본 개념 DUMP  (0) 2024.07.30