Python 是否可以将这个带有变化变量的for循环转换为列表?
是否可以将此Python 是否可以将这个带有变化变量的for循环转换为列表?,python,Python,是否可以将此for循环转换为列表?我试过了,但没有成功: for i in range(10): n += 1 summary += n 最简单的方法是直接在范围上调用sum: summary = [sum(n+1 for i in range(10))] 它具有线性复杂性。如果要对大数执行此操作,可以使用自然数的部分和执行常量复杂性: 如果你想做n到n+10的和,你可以试试 summary=sum([n+i表示范围(11)中的i)]您可以使用n的初始值从i计算n(需要调整)
for
循环转换为列表?我试过了,但没有成功:
for i in range(10):
n += 1
summary += n
最简单的方法是直接在范围上调用sum:
summary = [sum(n+1 for i in range(10))]
它具有线性复杂性。如果要对大数执行此操作,可以使用自然数的部分和执行常量复杂性:
如果你想做n到n+10的和,你可以试试
summary=sum([n+i表示范围(11)中的i)]
您可以使用n的初始值从i计算n(需要调整)。您只是想对n和n+10之间的整数求和吗?在这种情况下,只需求和(范围(n,n+10))。您的答案是正确的,但不是最优的。不需要生成列表(方括号),这会增加内存消耗。在循环之前,您还将假设设为假设==0
,这是一个公平的假设,但您需要提到它。
summary = sum(range(n+1))
summary = n*(n+1)/2