정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
제출한 코드 :
def solution(numbers):
for i in range(len(numbers)):
numbers[i]*=2
return numbers
다른 사람 풀이중 처음보는게 있어서 업로드
def solution(numbers):
return [num*2 for num in numbers]
위에 작성한 코드를 '리스트 컴프리헨션'이라고 함.
2의 배수를 10개 가진 리스트
[ 2*x for x in range(1, 11) ]
-> [2,4,6,8,10,12,14,16,18,20]
1부터 10까지 중 짝수만 가진 리스트
[ x for x in range(1, 11) if x%2 == 0 ]
새 리스트에 list.append(x)로 x를 추가해주는 대신 맨앞에 x 작성.
컴프리헨션은 내부에서 for문과 if문을 얼마든지 반복할 수 있음.