0
我想知道是否有可能更新列表理解中的值。更新列表理解內的值
我想到的是這樣的:
a = [1,2]
b = [3,1,0]
ans = [0]*(n+m-1)
print [ans[i+j] += a[i]*b[j] for i in xrange(len(a)) for j in xrange(len(b))]
我想知道是否有可能更新列表理解中的值。更新列表理解內的值
我想到的是這樣的:
a = [1,2]
b = [3,1,0]
ans = [0]*(n+m-1)
print [ans[i+j] += a[i]*b[j] for i in xrange(len(a)) for j in xrange(len(b))]
簡短的回答:沒有。 理解列表提供了創建列表的簡潔方法。
在你的情況雖然,你仍然可以使用一個理解列表創建列表(不更新):
a = [1,2]
b = [3,1,0]
ans = [sum((a[i]* b[s-i] for i in range(max(0, s-len(b)+1), min(len(a),s+1)))) for s in range(len(a)+len(b)-1)]
print ans