본문 바로가기
분석하는 마케터

Python - 리스트 내포(List Comprehension)

by TREBOR 2019. 11. 4.
리스트 내포(list comprehension)
  • 리스트 내부에 for 문을 포함시키는 것
  • 코드가 간결해짐
In [1]:
# 형태:
# [표현식 for 항목 in 반복가능한 객체]
# [표현식 for 항목 in 반복가능한 객체 if 조건문]
 

Q. a=[1,2,3,4] 의 모든 값을 2배로 만들기

In [2]:
# 리스트 내포를 사용하지 않을 때

result = []
for n in a:
    result.append(n*2)
result
Out[2]:
[2, 4, 6, 8]
In [4]:
# 리스트 내포를 사용할 때
# a 리스트에 포함된 모든 항목 n에 대하여, n*2한 값을 result에 리스트 형태로 저장

result = [n*2 for n in a]
result
Out[4]:
[2, 4, 6, 8]
 

Q. 2~9단의 모든 구구단 결과값만 뽑기

In [6]:
# 이중 for문을 이용해 list comprehension
# 2부터 9까지(range 2,10) 범위 내에서 차례로 접근한 x 항목과
# 1부터 9까지(range 1,10) 범위 내에서 차례로 접근한 y라는 항목을 곱하여 gu에 저장

gu =[x*y for x in range(2,10) for y in range(1,10)]
print(gu)
 
[2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27, 4, 8, 12, 16, 20, 24, 28, 32, 36, 5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 42, 48, 54, 7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72, 9, 18, 27, 36, 45, 54, 63, 72, 81]

 

댓글