02. Study/Python
List Comprehension(리스트 컴프리헨션)
미카이
2018. 1. 12. 20:03
python을 하다보면 이러한 코드를 볼경우가 발생한다
ex) list_a = [2*x for x in range(10)]
List Comprehension이란?
- 반복적인 객체(object)를 이용하여 리스트(list)를 효율적으로 만들 수 있는 경우에 사용을 하며,
실제로 리스트 크기가 큰 경우에도 간단할 뿐 아니라 속도 측면에서도 빠른것을 확인 할 수 있다.
예를들며 살펴보도록 하자.
1 2 3 4 5 6 7 8 9 10 11 12 13 | """ 일반적인 List 값 넣기 """ list_a = [] # 빈 list_a 생성 for x in range(5): # 0~4까지 반복하면서 for loop가 돈다. list_a.append(4*x) # (4*x) 을 list_a에 넣는다 list_a #output : [0, 4, 8, 12, 16] | cs |
위 예제처럼 list_a에 값을 넣어서 줄수도 있다.
하지만 List Comprehension을 이용하면 간단하게 만들 수 있다.
1 2 3 4 5 6 7 | """ List Comprehension Practice """ list_a = [(4*x) for x in range(5)] # list comprehension #output : [0, 4, 8, 12, 16] | cs |
정말 간단하지 않나? 그 외에도 다른 조건문도 넣어서 처리 할 수도 있다.
1 2 3 4 5 6 7 | """ if문을 활용한 List Comprehension Practice """ list_a = [(4*x) for x in range(5) if x%4==0] # x가 4로 나눴을 경우 나머지가 0인 값만 list_a에 넣는다 #output : [0, 16] - x가 0일경우와 4일경우에만 해당되므로.. | cs |