我有一个数字列表(27763行,csv文件),并希望做以下事情:
我编写了以下脚本,但它只显示最大值列表中的13882个数字与27763完全不同:
sample=open("file.csv")
sampledata=csv.reader(sample)
B=[]
maximumvalues=[]
totalvalues=[]
for row in sampledata:
values=row[2]
B.append(float(values))
for value in B:
maximumvalues.append(max(B))
totalvalues.append(sum(B))
B.remove(max(B))
答案 0 :(得分:0)
在没有看到您的数据的情况下,很难说 - 但您是否认为列表中的最大值可能超过1?对初始值进行排序可能会有所帮助:
maximuvalues = sorted(B, reverse=True)
totalvalues = [sum(B)]
for val in itertools.islice(maximumvalues, 1, None):
totalvalues.append(totalvalues[-1] - val)