我正在做在線教程,並且找到了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解決方案,您將如何接近替代方案 –