본문 바로가기
Python

파이썬 List Comprehension (리스트 컴프리헨션 )

by cclass 2021. 2. 28.

# 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

'Python' 카테고리의 다른 글

파이썬 클로저 (closure)  (0) 2021.03.06
파이썬 일급 객체 (First-Class)  (0) 2021.03.05
파이썬 datetime  (0) 2021.03.02
파이썬 map, filter, reduce  (0) 2021.03.01