【发布时间】:2022-01-15 12:05:20
【问题描述】:
我有来自不同 csv 文件的数据。这些数据已列出,包括增值税 0 和总金额。除了这两个信息之外,我的列表中还存在许多其他值。在示例中,我的总金额为 4000,增值税为 0。根据我的算法,它将 4000 替换为最大且可能不相关的值。 df=[26300.0, 17360.0, 4000.0, 4000.0, 4000.0, 4000.0, 6.575, 3.7, 0.0, 0.0, 0.0] 重要的是列表有所不同。我的共享列表单元测试中的示例。
def zero_vat(df):
catch_list=[]
df.sort(reverse = True)
print(df)
for i, value in enumerate(df): # 1.array
for j, value2 in enumerate(df): # 2.array
if df[i]==0:
if df[i]+max(df)==df[j]:
temp_list=[]
temp_list.append(df[i])
temp_list.append(df[j])
temp_list.append(max(df))
catch_list.append(temp_list)
print(catch_list)
elif df[i]+0 == max(df):
temp_list=[]
temp_list.append(df[i])
temp_list.append(0.0)
temp_list.append(max(df))
catch_list.append(temp_list)
print(catch_list)
return catch_list
输出:[[26300.0, 0.0, 26300.0]] 必须是:[[4000.0,0.0,4.000]]
【问题讨论】:
-
为了清楚起见,您是说您获得“[[26300.0, 0.0, 26300.0]] ”,但期望获得“[[4000.0,0.0,4.000]]”?
-
是的。列表有 0 精确和其他元素之一。此列表中的金额为 4000.00。用我的代码,最旧的选择 26300.00
-
i = 0 和 j = 0 时返回 catch_list。