python - 在列表中添加数字并打印具有不同条件的语句
问题描述
我得到了以下列表,我必须在其中添加它们直到达到限制并且该过程重复直到列表结束。
我尝试了以下代码,但如果计数超过限制,我自己得到最后一位而不是追加,newlist
因为执行代码不超过 10。我怎样才能做得更好?
limit= 10
count= 0
findex= 0
lindex=0
newlist=[]
mylist= [5,2,4,5,1,2,6,5]
for i in mylist:
if count <limit:
count+=i
lindex+=1
if count >= limit:
lindex-=1
newlist.append(mylist[findex:lindex])
count=i
findex=lindex
lindex+=1
print (newlist)
另外,我怎样才能以下列方式显示它们?
解决方案
您需要的是最终条件检查,我认为 findex 小于 mylist 的长度。如果您将以下条件块添加到代码末尾,它应该会给出您想要的结果。
if findex < len(mylist):
newlist.append(mylist[findex:])
推荐阅读
- docker - Teamcity - 多个 docker 注册表凭证
- sql - 合并来自没有匹配值的 2 个数据集的数据 (SQL)
- xamarin - Xamarin Forms Android:获取 XA3001:无法 AOT 程序集
- python-3.x - tkinter 的 .pack 方法没有正确划分空间
- c# - 使用源目录中的文件的 C# 应用程序,如果它开始使用其他应用程序,则会在查找文件时出错
- razor - asp.net razor core 在帖子上插入多条记录
- python-3.x - 使用python装饰器时在vs代码中编译错误
- tensorflow - 是否可以将多个图像打包到一个 TFRecord 示例中?
- bash - bash 循环遍历主文件以确定特定文件夹中出现的次数
- excel - 如何用空白替换 VBA 公式错误