切?附加列表Python

时间:2016-03-19 23:00:04

标签: python python-3.x

我想知道某件事是否可能,或者我是否以错误的方式解决这个问题。

我有一个if语句,它正在检查外部文件的标准。然后显示结果(所有这些都有效)。使用结果中显示的2个数字,我需要计算一个数量,并在显示的每个记录的结果旁边打印。

我想要的是:一次打印附加列表1中的每个项目,例如当记录1被打印时,显示计算项目1的计算,记录2打印,它显示计算项目2

numberofItemsData来自我的程序中的其他代码,它会拆分,追加和排序.txt文件。

def opt():
    calc = []

    for i in range (numberOfItems):
        nextRecord = Data[i]
        no1 = (nextRecord[0])
        date = (nextRecord[1])
        no2 = (nextRecord[2])
        no3 = int(nextRecord[3])
        rank = (nextRecord[4])
        no4 = int(nextRecord[5])

        if no4 < no3:
            calc.append(no4 - no3)
            print (no1, "\t\t\t", no2, "\t\t", no3, "\t\t", no4, "\t\t", calc)

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,您不希望在最后一行的calc电话结束时print,而是要打印您的项目只是附加到上一行的calc

最明显的方法是在想要打印时重新计算值:

print(no1, "\t\t\t", no2, "\t\t", no3, "\t\t", no4, "\t\t", no4 - no3)

或者,您可以在附加和打印之前将计算保存为变量(如果计算费用昂贵,这对于减去两个整数并不重要)会更有意义:

val = no4 - no3
calc.append(val)
print(no1, "\t\t\t", no2, "\t\t", no3, "\t\t", no4, "\t\t", val)

最后一个选项是从calc列表中取回值。您可以通过使用calc索引-1来获取列表中的最后一项。这是你特别要求的,但没有太多理由以这种方式做事:

print(no1, "\t\t\t", no2, "\t\t", no3, "\t\t", no4, "\t\t", calc[-1])