我是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}")
新创建的列表的打印效果与我期望的一样,但是相减会产生奇怪的结果-似乎产生了其他所有差异,而不是所有差异。
答案 0 :(得分:0)
diff_sum = [second_column [i + 1]-second_column [i] for i in range(len(second_column)-1)]
我喜欢漂亮,简单和高效。我并不假装很了解,但是简单才是开始。
谢谢。