Python/[개념 및 문법]
[python] list comprehension 배열 만들기
hyunnn_00
2023. 6. 29. 11:26
리스트 arr의 각 원소들을 2배하기
arr = [1, 2, 3, 5]
new_arr = []
for elem in arr:
new_arr.append(elem * 2)
print(new_arr)
>> [2, 4, 6, 10]
list comprehension으로 더 간단히 작성 가능
arr = [1, 2, 3, 5]
new_arr = [elem * 2 for elem in arr]
print(new_arr)
>> [2, 4, 6, 10]
조건문을 포함하는 list comprehension
list comprehension + for loop
[(append 안에 들어갈 내용) (for loop) <조건문>]
예시
list_ = [1, 9, 25, 49, 81]
list_ = [i ** 2 for i in range(1, 10, 2)]
list_ = [i ** 2 for i in range(1, 10) if i % 2 == 1]
## 모두 같은 표현!
변수가 두 개 이상인 list comprehension
list_ = [(i + j) for i in range(3) for j in range(3)]
# 결과
[0, 1, 2, 1, 2, 3, 2, 3, 4]
# list comprehension을 for 문을 사용해 표현 가능
list_ = []
for i in range(3):
for j in range(3):
list_.append(i + j)