List Comprehensions: List Comprehensions은 매우 간단하지만 Python에서 가장 일반적으로 사용되는 함수입니다.
이름에서 알 수 있듯이 목록 생성은 가장 간단하고 이해하기 쉬운 방법으로 필요한 목록을 생성할 수 있는 목록 유형을 반환해야 합니다.
예: 목록 1-100에 있는 모든 숫자의 제곱으로 구성된 목록을 가져와야 합니다. 이때 for 루프를 사용할 수 있습니다:
파이썬 코드
a = [] for value in range(1, 101): a.append(value * value) print(a)
이때 얻은 a는 1~100의 각 숫자의 제곱으로 구성된 배열입니다. 이 방법은 간단하지만 목록 생성을 사용하는 것이 훨씬 더 간단합니다.
파이썬 코드
a = [value * value for value in range(1,101)] print(a)
얻은 a는 이전 방법의 a와 완전히 동일합니다.
a = [value * value for value in range(1,101)]에서 value * value는 표현식 뒤의 for 루프에서 가져옵니다. 표현식을 한 번만 입력하고 마지막으로 for 루프의 각 루프의 계산 결과를 목록에 저장합니다. 마지막으로 a에 할당합니다.
목록 생성 시 다중 루프를 사용할 수도 있습니다. 예:
Python 코드
a = [x * y for x in range(1,3) for y in range(3,5)] print(a)
생성된 결과는 다음과 같습니다.
터미널 코드
[3, 4, 6, 8]
range(1,3)은 [1, 2], range(3,5)는 [3,4], x는 range(1,3)에서, y는 range에서 옵니다. (3,5 )
결과는 다음과 같습니다: 1*3, 1*4, 2*3, 2*4
또한 목록 생성에 조건부 판단을 추가할 수도 있습니다.
Python 코드
a = [value * value for value in range(1, 11) if value % 2 == 0] print(a)
#결과는 다음과 같습니다.
[4, 16, 36, 64, 100]
for 루프 뒤의 값입니다. 1부터 10까지 짝수의 제곱을 구하는 예제입니다