gpt4 book ai didi

Python,而不是一个包含 4000 万个连续数字的列表,我如何制作一个包含 40 个、大小为 100 万个连续数字列表的二维列表?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:00:34 25 4
gpt4 key购买 nike

我目前正在研究 MapReduce 算法,我需要更好地构建我的数据源。这个程序是给出一个随机数列表,用于在哈希算法中找到“好的”(低值(value))哈希;与比特币非常相似。现在我列出了一个包含 4000 万个连续数字(随机数)的列表。但是 IO 中的开销(使用 mincemeat.py)使程序非常慢。

目前我正在使用它来创建我的列表

#Build the data source
nonces = [i for i in range(0, 400000)]
#Create a dict with a single entry
datasource = dict(enumerate(nonces))

我如何修改第一行代码来创建一个大小为 40 的列表,其中包含大小为 100 万的列表;所以第一个列表是 1-100 万,然后是 100 万到 200 万等等?我是否需要分解并制作一个 for 循环,或者是否有一个我可以实现的简单的衬垫来实现这一目标?

这是我将如何实现 for 循环来完成它,它可以被压缩吗? (我知道我有重复的数字..)

nonceList = []
for j in range(0, 40):
nonceList.append([i for i in range(j*1000000, (j+1)*1000000)])
datasource = dict(enumerate(nonceList))

最佳答案

不要预先生成连续的数字;只需让您的 mapreduce 任务从起始编号生成它们。

例如对于 40 个任务,将 0-40 编号并使用乘数在任务中生成数字;在 Python 2 中,使用 xrange() 生成数字,因为 range() 将生成一个列表,具体化一百​​万个整数对象没有任何好处。

关于Python,而不是一个包含 4000 万个连续数字的列表,我如何制作一个包含 40 个、大小为 100 万个连续数字列表的二维列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22586683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com