如何解决在遍历列表时插入列表项的总和
我一直在尝试生成这样的序列
1 2 1
1 3 2 3 1
1 4 3 5 2 5 3 4 1
该序列基本上是在它们之间插入 2 个连续列表元素的总和。 这是我的解决方案:
a =[1,1]
h=[]
for j in range(1,5):
h=a
for i in range(0,len(h),2):
h.insert(i+1,a[i]+a[i+1])
print(a)
a=h
但它在第三次迭代后以某种方式生成了一半正确的序列。
[1,2,1]
[1,3,4,5,7,8,1]
任何人都可以帮助我做错什么。 提前致谢
解决方法
h
是多余的。反向循环效率更高
a = [1,1]
for j in range(1,7):
for i in range(len(a) - 1,-1):
a.insert(i,a[i - 1] + a[i])
print(a)
[1,2,1]
[1,3,4,5,7,8,1]
,
列表是句柄。如果你改变一个,另一个也会改变。这是我的建议。
a =[1,1]
h=[]
for j in range(1,5):
h=a.copy()
for i in range(0,len(a)-1,1):
h.insert(2*i+1,a[i]+a[i+1])
print(a)
a=h.copy()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。