首页 > 解决方案 > 减法列表不起作用。我减去所有其他元素

问题描述

我是 Python 的新手(几天),所以请原谅我。我正在尝试从另一个列表中减去一个列表,然后将其放入列表中并对该列表求和。

with open(pybankfile, newline="") as csvfile:
    csv_reader = csv.reader(csvfile, delimiter=",")

    # @NOTE: This time, we do not use `next(csv_reader)` because there is no header for this file

    # Read the header row first (skip this step if there is now header)
    csv_header = next(csvfile)
    lst =[]
    print(f"CSV Header: {csv_header}")
    reader = csv.reader(csvfile)
    data = list(reader)
    maxnum = max(data, key=lambda row: int(row[1]))
    minnum = min(data, key=lambda row: int(row[1]))
    second_column = [int(row[1]) for row in data]
    #third_column = [int(row[2]) - int(row[1]) for row in second_column]
    #dy = sum(third_column)
    countmths = len(second_column) 
    y= (second_column[1::2])
    x= (second_column[::2])
    d=[(b - a)  for a, b in zip(y, x)]

    dy=sum(d)
    print(d)
    print (x)
    print(y)
    print(dy)


    sort_col_2 = sorted(second_column)
    tot = sum(second_column)
    avg_bal = tot / countmths
    avg_diff = dy / 85


    #print values
    print(f"minimum: {minnum}")
    print(f"maximum: {maxnum}")
    print(f"Balance: {tot}")
    print(f"Average:{avg_bal}")
    print(f"Avg Diff:{avg_diff}")

新创建的列表像我预期的那样打印,但减法产生了奇怪的结果——似乎产生了所有其他差异而不是所有差异。

标签: pythonpython-3.xlistsubtraction

解决方案


diff_sum= [second_column[i + 1] - second_column[i] for i in range(len(second_column)-1)]

我喜欢漂亮、简单和高效。我不假装很了解它,但简单是开始。

谢谢大家。


推荐阅读