[기초 파이썬-02] 리스트의 내포(List comprehension)

리스트의 내포는 반환값으로 리스트를 반환하는 반복문 등에서 보다 간결한 코드로 원하는 값을 내보낼 수 있다. 

먼저 제곱을 저장하는 리스트를 만들어보자. 

nums = [1,2,3,4,5,6,7,8,9,10,11,12]
result = []
for x in nums:
    result.append(x ** 2)
print(result)

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144]

for 반복문을 이용해서 빈 리스트인 result에 결과값을 담아 반환 하였다. 이걸 조금 더 간단하게 만들어 보자 

nums = [1,2,3,4,5,6,7,8,9,10,11,12]
result = [ x **2 for x in nums]
print(result)

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144]

위의 복잡한 반복문이 한줄로 표현이 되었다. 이상황에서 조건문이 들어가서 일부 원하는 원소의 결과값만 나오게 해보자. 3의 배수들만 제곱값으로 표현해 보자. 

nums = [1,2,3,4,5,6,7,8,9,10,11,12]
threeSqure = [ x**2 for x in nums if x % 3 ==0]
print(threeSqure)

[9, 36, 81, 144]

 

댓글

Designed by JB FACTORY