我想在不使用循环的情况下更改列表的值或增加性能
下面是我的代码的一部分。我想将(1 * 2),(2 * 3)..添加到列表的某个范围范围内。除了使用for循环之外,还有更快的方法吗
k=1
for j in range(3,100):
ary[j-1]+=k*(k+1)
k+=1
答案 0 :(得分:1)
如果你的意思是使用列表理解,试试这个:
a = [j * (j + 1) for j in xrange(1, 100)]
它将返回一个列表:[(1*2),(2*3),(3*4),(4*5),...]
答案 1 :(得分:0)
您可以使用递归方法,但速度不会比当前代码快。
我认为没有更好的方法来修改那些不会像那样统一变化的特定值范围。