список вычитания не работает. Я вычитая каждого другого элемента - PullRequest
0 голосов
/ 23 марта 2020

Я новичок (несколько дней) до 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}")

Вновь созданные списки печатаются так, как я ожидал, но вычитание дает странные результаты - похоже, дает любое другое отличие, а не все различия.

1 Ответ

0 голосов
/ 23 марта 2020

diff_sum = [second_column [i + 1] - second_column [i] для i в диапазоне (len (second_column) -1)]

Я люблю красиво, просто и эффективно. Я не притворяюсь, что знаю это хорошо, но простота - это начало.

Спасибо, все.

...