Python
파이썬 List Comprehension (리스트 컴프리헨션 )
cclass
2021. 2. 28. 15:48
# List Comprehension 이란
- 리스트를 짧은 코드로 손쉽게 만들수 있는 문법
# 문법
- [expression for element in iterable]
- [expression for element in iterable condition]
# 장점 및 단점
- 깔끔하게 간단하게 리스트를 생성할 수 있다.
- 복잡하게 작성시 가독성이 떨어질 수 있다.
# 리스트 컴프리헨션 사용 안했을 때
numbers = []
for i in range(1, 11):
numbers.append(i)
print(numbers)
# >>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 리스트 컴프리헨션 예시
numbers = [i for i in range(1, 11)]
print(numbers)
# >>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# if 조건
numbers = [i for i in range(1, 11) if i > 5]
print(numbers)
# >>> [6, 7, 8, 9, 10]
# if 중복 작성
numbers = [i for i in range(1, 11) if i % 2 == 0 if i > 5]
print(numbers)
# >>> [6, 8, 10]
# 다중 for 문 (구구단 )
numbers = [
"{} * {} = {} ".format(i, j) + (i * j) for i in range(2, 10) for j in range(1, 10)
]
print(numbers)
# >>> ['2 * 1 = 2', '2 * 2 = 4', '2 * 3 = 6',.....'9 * 7 = 63', '9 * 8 = 72', '9 * 9 = 81']
# 또다른 차이점
numbers = []
for i in range(1, 11):
numbers.append(i)
print('i' in vars())
# >>> True
numbers = [j for j in range(1, 11)]
print('j' in vars())
# >>> False