如何解决循环 vs. itertools 性能
我试图解决一个问题,我必须掷两个骰子(值从 1 到 n)并得到所有可能结果的总和。
所以我试过这个:
n = 1000
result = []
for i in range(1,n):
for j in range(1,n):
result.append(i + j)
然后找到了更高级的解决方案:
import itertools
from operator import add
n = 1000
values = itertools.product(range(1,n),range(1,n))
result = tuple(itertools.starmap(add,values))
第二个解决方案使用更多内存(我认为)并且它比第一个天真的解决方案更快。 这是为什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。