亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

返回清單的產品

返回清單的產品

慕田峪7331174 2019-11-26 14:18:21
有沒有更簡潔,有效或簡單的pythonic方法來執行以下操作?def product(list):    p = 1    for i in list:        p *= i    return p編輯:我實際上發現這比使用operator.mul快一點:from operator import mul# from functools import reduce # python3 compatibilitydef with_lambda(list):    reduce(lambda x, y: x * y, list)def without_lambda(list):    reduce(mul, list)def forloop(list):    r = 1    for x in list:        r *= x    return rimport timeita = range(50)b = range(1,50)#no zerot = timeit.Timer("with_lambda(a)", "from __main__ import with_lambda,a")print("with lambda:", t.timeit())t = timeit.Timer("without_lambda(a)", "from __main__ import without_lambda,a")print("without lambda:", t.timeit())t = timeit.Timer("forloop(a)", "from __main__ import forloop,a")print("for loop:", t.timeit())t = timeit.Timer("with_lambda(b)", "from __main__ import with_lambda,b")print("with lambda (no 0):", t.timeit())t = timeit.Timer("without_lambda(b)", "from __main__ import without_lambda,b")print("without lambda (no 0):", t.timeit())t = timeit.Timer("forloop(b)", "from __main__ import forloop,b")print("for loop (no 0):", t.timeit())給我('with lambda:', 17.755449056625366)('without lambda:', 8.2084708213806152)('for loop:', 7.4836349487304688)('with lambda (no 0):', 22.570688009262085)('without lambda (no 0):', 12.472226858139038)('for loop (no 0):', 11.04065990447998)
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 361 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號