코드를 간결하게 작성할 수 있는 컴프리헨션..
익숙해 지려고하면 까먹고 익숙해 지려고 하면 까먹고
아무래도 지금 플젝에선 전혀 코딩 안하니까 그만큼 더 자주 보려고 해야하는데
생각난 김에 예제 검색해서 정리해봤돠.
# 컴프리헨션
squares = [x**2 for x in range(1, 11)]
# 컴프리헨션 사용하지 않고 작성시
squares = []
for x in range(1, 11):
squares.append(x**2)
# 컴프리헨션
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
# 컴프리헨션 사용하지 않고 작성시
even_numbers = []
for x in range(1, 11):
if x % 2 == 0:
even_numbers.append(x)
# 컴프리헨션
identity_dict = {x: x for x in range(1, 6)}
# 컴프리헨션 사용하지 않고 작성시
identity_dict = {}
for x in range(1, 6):
identity_dict[x] = x
# 컴프리헨션
even_squares = {x: x**2 for x in range(1, 11) if x % 2 == 0}
# 컴프리헨션 사용하지 않고 작성시
even_squares = {}
for x in range(1, 11):
if x % 2 == 0:
even_squares[x] = x**2
# 컴프리헨션
sentence_dict = {x[0]:x[2:] for x in sentence}
# 컴프리헨션 사용하지 않고 작성시
sentence_dict = {}
for x in sentence:
key = x[0]
value = x[2:]
sentence_dict[key] = value
# 컴프리헨션
squares_set = {x**2 for x in range(1, 11)}
# 컴프리헨션 사용하지 않고 작성시
squares_set = set()
for x in range(1, 11):
squares_set.add(x**2)
# 컴프리헨션
odd_set = {x for x in range(1, 11) if x % 2 != 0}
# 컴프리헨션 사용하지 않고 작성시
odd_set = set()
for x in range(1, 11):
if x % 2 != 0:
odd_set.add(x)