【问题标题】:How to rewrite a list in a for loop如何在for循环中重写列表
【发布时间】:2022-01-09 12:55:45
【问题描述】:

我是 python 新手。我目前正在做一个在线教程,其中有几个练习。一种是生成一个初始列表,计算其总和,然后重写该列表 100 次迭代,并对每次迭代求和。

这是我尝试过的,但它不起作用。有什么建议?非常感谢您的所有帮助!

l=[]
for i in range(0,10):
    l.append(i)
print(l) 
SUM=[]

a=[]
for j in range(0,100):
    n=sum(l)
    SUM.append(n)
    u=2*l
    l=u

l 最初是 l = [0,1,2,3,4,5,6,7,8,9]。我想替换它 100 次,每次 2*l 计算总和。这意味着我希望第二次迭代 l=[0,2,4,6,8,10,12,14,16,18] 等。

【问题讨论】:

    标签: list url-rewriting


    【解决方案1】:

    对于你的第二个循环,你可以这样做:

    SUM=[sum(l)]
    for j in range(2,101):
        l = [x*2 for x in l]
        n = sum(l)
        SUM.append(n)
    

    你不能像 u=2*l 这样的列表逐元素相乘;您需要遍历列表中的每个元素。

    但是因为你想逐个元素地找到一个比前一个列表大两倍的列表的总和,你可以简单地这样做:

    SUM=[sum(l)]
    for j in range(2,101):
        SUM.append(SUM[-1]*2)
    

    大约快 10 倍。

    【讨论】:

      猜你喜欢
      • 2014-01-19
      • 1970-01-01
      • 2021-06-29
      • 2019-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      相关资源
      最近更新 更多