我正在做在线教程,并且找到了python程序,它返回一个带有2元组的列表。每个元组都由一个订单号和价格pere项目和数量的乘积组成。如果订单的价值小于100.00,产品应增加10.00定义函数名称而不是lambda
为了我自己的理解,我希望通过用函数名称重新定义程序进行复制。
orders = [ ["34587","Learning Python, Mark Lutz", 4, 40.95],
["98762","Programming Python, Mark Lutz", 5, 56.80],
["77226","Head First Python, Paul Barry",3,32.95]]
min_order = 100
invoice_totals = list(map(lambda x: x if x[1] >= min_order else (x[0], x[1] + 10) ,
map(lambda x: (x[0],x[2] * x[3]), orders)))
print(invoice_totals)
这就是我到目前为止所得到的结果。
def get_order(L):
invoice_totals= []
for item in range(len(L)):
ordernum = L[item][0],
if (L[item][2] * L[item][3])>= min_order:
invoice_totals= ordernum, (L[item][2] * L[item][3])
else:
invoice_totals= ordernum, (L[item][2] * L[item][3]) + 10
print(invoice_totals )
if __name__ == '__main__':
get_order(orders)
问题是什么? –
如果您要通过定义函数名称复制上述lambda解决方案,您将如何接近替代方案 –