我在做一个项目,之前我做了一个名为salary
的列表,根据某人的输入计算出他们的薪水。现在,我想创建一个名为'tSalaryExpenditure'
的列表,它将获取列表'salary'
,并将列表中的所有元素相加。然而,当我到了这个阶段,我得到一个错误说
"unsupported operand type(s) for +: 'int' and 'list'".
我目前正在使用'sum'
函数,为了找到解决问题的方法,我尝试了一段时间,以及其他各种循环。你知道吗
salary = []
for i in range(len(tData)):
tmpSalary = []
warn = 0
if total == 37.5:
fullWeek = [a*b for a,b in zip(tmpRate,Hours)]
tmpSalary.append(fullWeek)
elif total > 37.5:
fullWeek = [a*37.5 + ((b-37.5)*a)*1.5 for a,b in zip(tmpRate,Hours)]
tmpSalary.append(fullWeek)
elif total < 37.5:
fullWeek = [a*b for a,b in zip(tmpRate,Hours)]
warn += 1
tmpWarning.append(warn)
tmpSalary.append(fullWeek)
salary.append(tmpSalary)
tSalaryExpenditure = sum(salary)
问题是,当您使用列表理解时,结果是一个数组。所以你有
因此,当您将
fullWeek
附加到另一个列表时,它实际上会在一个列表中创建一个列表。你知道吗当您将
tmpSalary
附加到salary
时,问题就会加倍。因此,当您尝试调用sum()
时,它只看到外部的list对象,而不看到内部的整数。你知道吗解决这个问题的方法是附加单个元素,或者指定要求和的内部列表。执行下列操作之一。你知道吗
相关问题 更多 >
编程相关推荐