리스트 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)
'Python > [개념 및 문법]' 카테고리의 다른 글
[python] 특정 위치의 문자 찾기 index / enumerate / in / not in (0) | 2023.06.30 |
---|---|
[python] 피보나치 수열 만들기 (0) | 2023.06.29 |
[python] 리스트 안의 원소 합 구하기 (0) | 2023.06.28 |
[python] list 리스트_리스트의 원소 합 구하기 map 함수 (0) | 2023.06.28 |
[python] 리스트 원소 추가, 제거, 개수 세기 append, pop, len 함수 (0) | 2023.06.27 |