대괄호로 묶인 실제 for 루프는 list comprehension이며 목록을 생성합니다.
(여기
d
)하여 변수를 의미
[ expression(<variables>) for <variables> in <list> ]
는 (여기 (x - y)
) 지정된 목록의 값을 반복한다 : 이것은 다음과 같이 일반적으로 표현된다. 반환 된 목록에는 표현식의 값이 포함되며 각 값은 d
입니다.
이 작성 방법은 변수가 사용 된 후에이를 정의하므로 이전에 정의하지 않은 것이 정상입니다. 명확한에서
는 코드는 다음과 동일합니다 :
squares = []
for d in (x - y):
squares.append(d**2)
sum(squares)
는 사소, sum 목록의 합계를 반환합니다.
당신은 당신의 코드가 수학을하고 당신이 배열보다는 목록 말을하는 말을하기 때문에, 여기에서 당신이 x,y
이 NumPy와 배열 인 것을 의미하는에 가정합니다.
이 경우 x - y
은 의미 : 항목 별 항목 빼기 배열이 있습니다. [a - b for a,b in
이 zip
(x,y)]
는 따라서 그 코드의 파이썬 재 작성 될 수있다 : 같은 지능형리스트로 작성
, 그것은 보일 것
sum = 0
for a,b in zip(x,y):
sum += (a - b) * (a - b)
또는 만 NumPy와 기능 : HTTP를
numpy.square(x - y).sum()
을 : //www.pythonforbeginners.com/basics/list-comprehensions-in-python – pvg