我是新來的列表解析,並希望將下面的代碼複製到for循環嵌套列表理解。Python嵌套列表理解創建矩陣
master = []
inner = []
for x in range(1,8):
inner = []
for y in range(1,x+1):
inner.append(str(x*y).rjust(2))
master.append(inner)
for m in master:
print ' '.join(m)
輸出看起來是這樣的:
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
我的想法是這樣的:
test = [
[str(x*y).rjust(2) for x in range(1,8)]
for y in range(1,x+1)
]
for t in test:
print ' '.join(t)
但我得到一個回溯錯誤:
Traceback (most recent call last):
File "python", line 3, in <module>
NameError: name 'x' is not defined
任何蟒蛇專家小心點我在正確的可怕ction?
預先感謝您!
你知道你的'master'循環是從1到8,但是你的邏輯會導致你「忘記」最後一行嗎? –
@奧斯汀·黑斯廷斯......謝謝。我沒有注意到,但我已經更新了上面的例程來糾正,所以它不再「忘記」最後一行。 – mba12