2015-01-20 2 views
-2

가난한 질문이거나 이미 답변을 드렸다면 미리 사과드립니다.float 값, 반복 가능 및 행렬 오류

다음은 매트릭스로 작동하는 프로그램의 스 니펫입니다. 열을 가져 와서 그 내용을 col [x]에 추가하고 싶습니다. 나는이 프로그램을 실행하면

col = [] 
for x in range(len(matrix[0])): 
    col.append([float(0)]) 

for x in range(len(matrix[0])): 
    for y in range(len(matrix)): 
     matrix[x][y] = float(matrix[x][y]) 

for x in range(len(matrix[0])): 
    for y in range(len(matrix)): 
     col[x] += matrix[x][y] 

는 오류 메시지가 읽고 마지막 줄은 " '부동'개체를 반복 가능하지 않습니다." 왜 두 개의 개별 목록을 사용하여 두 개의 부동 값을 "+ ="사용할 수 없습니까?

답변

0

당신이 설정 한 문제는 col 변수에서 비롯됩니다.

그것은이므로 :

col = [] 
for x in range(len(matrix[0])): 
    col.append([float(0)]) 

col 1 개 요소의 listlist로 렌더링됩니다 : 따라서

>>> col 
[[0.0], [0.0], [0.0]] 

, 당신은 마지막 루프에서 col[x] += 2.0 말할 수 없다, 그것은하려고하기 때문에 listfloat을 추가하십시오.

col 좋아 정의

col = [] 
for x in range(len(matrix[0])): 
    col.append(float(0)) 

list

>>> col 
[0.0, 0.0, 0.0] 

float를 창출하고 col[x] += 2.0 유효한 명령을 렌더링 할 것이다.