当前位置: 首页 > 面试题库 >

如何“多重处理” itertools产品模块?

夏烨霖
2023-03-14
问题内容

因此,我尝试尝试计算以下字符串的数百万种不同组合,但我每秒仅计算大约1,750种组合,这甚至还远没有达到我所需的速度。那么,我将如何重塑这种形状,以便同一件事情的多个过程正在计算不同的零件,而不是在计算已经计算出的零件并保持快速的速度呢?下面的代码部分是我一直在使用的代码。任何例子将不胜感激!

from itertools import product
for chars in product("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12234567890!@#$%^&*?,()-=+[]/;", repeat = 4):
   print chars

问题答案:

将产品分解成一个部分的一种方法是分解产品的第一个组成部分,以便每个独立的作业都具有从一组特定的首字母开头的所有元素。例如:

import string
import multiprocessing as mp
import itertools

alphabet = string.ascii_letters+string.digits+"!@#$%^&*?,()-=+[]/;"
num_parts = 4
part_size = len(alphabet) // num_parts

def do_job(first_bits):
    for x in itertools.product(first_bits, alphabet, alphabet, alphabet):
        print(x)

if __name__ == "__main__":
    pool = mp.Pool()
    results = []
    for i in xrange(num_parts):
        if i == num_parts - 1:
            first_bit = alphabet[part_size * i :]
        else:
            first_bit = alphabet[part_size * i : part_size * (i+1)]
        results.append(pool.apply_async(do_job(first_bit)))

    pool.close()
    pool.join()

(显然,您仅resultsdo_job实际返回某些内容时才使用)。



 类似资料:
  • 问题内容: 印刷品: 如何: 避免在单个句子中重复使用相同的名称(印度和印度) 仅产生一种组合(印度和澳大利亚或澳大利亚和印度) http://pythonfiddle.com/product-without-matching- duplicates 问题答案: 你应该使用这样的 但是对于这种简单的情况,您可以运行两个循环,如下所示

  • 我在桌子设计方面没有太多的经验。我的目标是创建一个或多个满足以下要求的产品表: > 支持多种产品(电视、电话、PC、...)。每种产品都有一组不同的参数,例如: > 手机将有颜色、大小、重量、操作系统... PC将有CPU、HDD、RAM... 参数集必须是动态的。您可以添加或编辑任何您喜欢的参数。 如果每种产品没有单独的表,我怎么能满足这些要求呢?

  • 我们知道,迭代器的特点是:惰性求值(Lazy evaluation),即只有当迭代至某个值时,它才会被计算,这个特点使得迭代器特别适合于遍历大文件或无限集合等,因为我们不用一次性将它们存储在内存中。 Python 内置的 itertools 模块包含了一系列用来产生不同类型迭代器的函数或类,这些函数的返回都是一个迭代器,我们可以通过 for 循环来遍历取值,也可以使用 next() 来取值。 it

  • 产品管理是组织功能,它指导产品生命周期的每一步。产品生命周期从开发到定位和定价。它首先关注产品及其客户。 产品完全专注于客户。产品团队经常构造想法,设计更好,产品性能更高。产品团队成员每天与产品经理一起工作。在产品管理中,没有一种方法可以应用任何原则。每种产品都有自己的目标和挑战,需要采用独特的定制方法进行产品管理。 影响产品管理的因素 业务:产品管理通过最大限度地减少产品开发,设计,客户和公司之

  • 我也不懂我一个算是搞技术的的为什么鬼迷心窍去搞产品!!! 不管怎样咱先总结一下: 为什么选择产品,优势及劣势 负责的项目是怎么进行市场和用户分析的,分析方法,得出的结论,与其他产品相比你们的优势和劣势,学习能力强怎么说,实习时负责什么,社团遇到最困难的事情以及怎么解决的,数据分析的方法,期望月薪年薪,为什么选择这个行业(本场最满意的回答,还好提前做了准备),有没有驾照,反问,…… 咱就是说面一个产

  • 登陆后前往控制台->产品管理 添加产品 点击"添加产品"按钮,弹出对话框 产品所属类别和产品名称为必填项,如果不确定产品所属的类别,请选择通用产品。 点击提交,完成产品添加。 编辑产品 点击每个产品记录右侧的编辑按钮,在弹出的对话框中,可修改产品名称和产品描述。 删除产品 点击产品记录右侧的删除按钮可删除产品记录(谨慎操作)。