취뽀 기록

#열심히 살자 #취업 #공부

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)