我有以下代码片段:
d = [[0,558,437,142,45,290], [558,0,232,500,600,523], [437,232,0,408,492,572],
[142,500,408,0,180,197], [45,600,492,180,0,254], [290,523,572,197,254,0]]
for row in d:
for elem in row:
elem = elem * 2
print d[0][1]
print '\n'
Run Code Online (Sandbox Code Playgroud)
为什么它不打印新值,它仍然打印558
elem = elem * 2修改名为的变量的值elem.此变量与列表无关,而与列表元素的初始值无关.
要做你想做的事,你需要索引到数组中.或者,您可以使用该map()功能.但是,这只会创建一个包含新值的新列表,而不是更改原始列表的值.