我只是想在Python中为Euler Problem 15(https://projecteuler.net/problem=15)编写一个关于Lattice Paths的代码。
我想写一些会返回(1,2,1),(1,3,3,1),(1,4,6,4,1)等的东西。我写了以下内容:
lijst = [1,1]
temp = [1,1]
for a in range(2,21):
temp.append(1)
for b in range(1,a):
temp[b] = lijst[b-1] + lijst[b]
lijst = temp
print a, lijst
令我惊讶的是,这并没有奏效。在第二个' -loop的开头,不知何故,追加不仅仅适用于临时工作,而且也适用于' lijst'。我通过改变代码来实现代码:
lijst = temp
成:
lijst = [a for a in temp]
问题听到了什么?我错过了关于列表行为的一些事情吗?
谢谢!