2014-08-29 2 views
1

파이썬에서이 두 가지 작업을 수행하려고합니다. 나는 L벡터의 길이가 n1과 같고 R의 길이가 n2 인 것을 안다. 또한 p와 q는 몇 가지 상수입니다.파이썬 스크립트에서 정의되지 않은 벡터 이름 오류

for i in range (0,n1): 
    L[i]=a[p+i-1] 

for j in range (0,n2): 
    R[j]=a[q+j] 

나는 "Namerror: name 'L' is not defined"이라는 오류 메시지가 나타납니다. 그래서 본질적으로, 나는 파이썬에서 어떻게 해야할지 모르겠다는 L과 R의 길이를 할당해야합니다.

+1

할당하려면'L = [0] * n1'을 (를)하십시오. – simonzack

답변

0

루프를 시작하기 전에 목록을 선언하기 만하면됩니다.

L = [0]*n1 
L = [0]*n2 
for i in range (0,n1): L[i]=a[p+i-1] 

for j in range (0,n2): R[j]=a[q+j] 
0

할당하려면 L = [0] * n1을 지정하십시오. 하지만 이는 생성자 표현식을 사용하는 것이 가장 좋습니다.

L = list(a[p+i-1] for i in range (n1)) 
관련 문제