python - Why this statement doesnt work? -


why following list comprehension expression doesnt work?

[col1*col2 (col1, col2) in zip(row1, row2) (row1, row2) in zip(m,n)] 

python says:

nameerror: name 'row1' not defined 

with:

m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] n = [[2, 2, 2], [3, 3, 3], [4, 4, 4]] 

indeed, row1 not defined , row2.

let's simplify you're trying do:

for row1, row2 in zip(m, n):     col1, col2 in zip(row1, row2):         result = col1*col2         print result 

the above code works fine because first selected row1 , row2 zip(m, n). , selected col1 , col2 zip(row1, row2).

so if want compress code in 1 single line, will have follow same approach above. code below:

[col1*col2 (row1, row2) in zip(m, n) (col1, col2) in zip(row1, row2)] 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -