新列表并从初始列表中删除。程序应该继续进行,直到没有元素

时间:2017-01-02 16:15:10

标签: python arraylist

增强程序,使代码从列表中获取最后一个元素,然后获取第一个和第二个元素,依此类推,直到总和大于或等于600,并将这些元素添加到新列表中并从中删除最初的清单。该过程应该继续进行,直到初始列表中没有元素。

数组示例:[78,96,120,133,145,152,277,278,285,298,299,304,305]

然后结果应该是这样的 [305,78,120],[304,96,145],[299,133,159]

这是我的代码:

import os
import csv
with open("dr_S03_2_2018_800.txt", "r") as f:
reader = csv.reader(f, delimiter="\t")
reader = csv.reader(f, delimiter="\t")
print('line[{}] = {}'.format(i, line))

1 个答案:

答案 0 :(得分:0)

我可能会做以下事情:

inputs = [78, 96, 120, 133, 145, 152, 277, 278, 285, 298, 299, 304, 305]

curr_list = []
outputs = []

for i in range(-1, len(inputs) - 1):
    curr_list.append(inputs[i])
    if sum(curr_list) >= 600:
        outputs.append(curr_list)
        curr_list = []

inputs = []

print(outputs)