我正在使用 python。我需要得到我在底部提到的输出。这是我尝试的方式。
L = [i for i in range(1,11)]
print(L)
p = []
p.extend(L for _ in range(10))
#print(p)
for _ in range(10):
for i in range(10):
p[_][i] = (_+1)*p[_][i]
print(p)
and this is the output I got.
输出:[[3628800,7257600,10886400,14515200,18144000,21772800 25401600,29030400,32659200,36288000],[3628800,7257600,10886400,14515200,18144000,21772800,25401600,29030400,32659200,36288000],[3628800,7257600 ,10886400,14515200,18144000,21772800,25401600,29030400,32659200,36288000],[3628800,7257600,10886400,14515200,18144000,21772800,25401600,29030400,32659200,36288000],[3628800,7257600,10886400,14515200,18144000 ,21772800,25401600,29030400,32659200,36288000],[3628800,7257600,10886400,14515200,18144000,21772800,25401600,29030400,32659200,36288000],[3628800,7257600,10886400,14515200,18144000,21772800,25401600,29030400 ,32659200,36288000],[3628800,7257600,10886400,14515200,18144000,21772800,25401600,29030400,32659200,36288000],[3628800,7257600,10886400,14515200,18144000,21772800,25401600,29030400,32659200,36288000],[3628800,7257600,10886400,14515200,18144000,21772800,25401600,29030400,32659200,36288000]]
我希望输出像
[[1,2,3,4,5,6,7,8,9,10],[2,4,6,8,10,12...18,20],[3,6,9...27,30].....[9,18,27..90]]
有几个问题: 不要使用 _ 作为变量名,它是用于您不会重用的变量。
由于此行,您遇到此问题:
p.extend(L for _ in range(10))
p 是对 L 的引用列表。所以当你这样做时:
p[_][i] = (_+1)*p[_][i]
你修改了 L,从而修改了 p 中的所有列表。
您的代码已修复:
p = []
p.extend(list(range(1,11)) for _ in range(10))
for i in range(10):
for j in range(10):
p[i][j] = (i+1)*p[i][j]
print(p)
但是,有一种更简单的方法可以做到:
p = [ list(range(i, i*11, i )) for i in range(1,10)]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句