728x90
List Comprehension이란?
List Comprehension이란
- 다양한 조건을 사용해 Iterable(반복 가능한) 오브젝트로 List를 생성할 수 있는 파이썬 문법임!
예제 코드 1
[i for i in range(5)]
결과
[0, 1, 2, 3, 4]
예제 코드 2
def solution(x):
if x % sum([int(i) % 10 for i in str(x)]) == 0:
return True
else:
return False
이 코드는 프로그래머스 Level 1 문제인 "히샤드 수"의 정답 코드이다.
https://seokmimmmmmmmm.tistory.com/243
보이는 것처럼 간단하게 리스트를 만들어서 그 리스트의 sum을 구하고 있다.
예제 코드 3
def solution(arr, divisor):
tempArr = [i for i in arr if i % divisor == 0]
if len(tempArr) == 0:
return [-1]
else:
return sorted(tempArr)
이 코드는 프로그래머스 Level 1 문제인 "나누어 떨어지는 숫자 배열"의 정답 코드이다.
예제 코드 3에서 알 수 있듯이, List Comprehension을 사용하는 이유는 대괄호 내에서 수식이나 함수 적용도 가능하지만, if-else문을 적용할 수도 있다! 또 for문 두 개를 적용하는 등 다양하고 간편하게 쓸 수 있다!
결론
이처럼 List Comprehension을 쓰면 훠얼씬 간단하게 원하는 리스트를 생성할 수 있다.
처음엔 엥? 이게 뭐지? 할 수 있겠지만, 모르면 손해 !
728x90