gpt4 book ai didi

python - 我如何写入父字典?

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:05 25 4
gpt4 key购买 nike

如何给 parent 的字典写信?我已经给了一些 url 列表给一些 child 检索,然后需要写入 parent 的字典:

from multiprocessing import Pool
import random

parent_dict={}
urls = ['www.yahoo.com','www.google.com','www.microsoft.com','www.apple.com','www.cisco.com']

def workit(url):
# retrieve the urls, process some stuff and then add that info to parent_dict
key = random.randrange(1,10) # pretend that this is the variable that we want in parent_dict
value = random.randrange(11,20)
parent_dict[key] = value

pool = Pool(processes = 5)
pool.map(workit,urls)


print parent_dict # returns {}}

最佳答案

以下代码或多或少是您的代码,用于处理 python 多处理文档中提到的 manager.dict 的传递。

from multiprocessing import Pool
from multiprocessing import Manager
import random

manager = Manager()
dproxy = manager.dict()

urls = ['www.yahoo.com','www.google.com','www.microsoft.com','www.apple.com','www.cisco.com']



def f(url):
shared_dict = dproxy[0]
key = random.randrange(1,10)
value = random.randrange(11,20)
shared_dict[key] = value
dproxy[0] = shared_dict

if __name__ == '__main__':
dproxy[0] = {}
pool = Pool(processes=5)

pool.map(f, urls)
print dproxy[0]

这里有几件事需要注意是关键问题:

  1. 这并不总是创建具有相同长度的字典。想想你现在可能在想什么(一些键被覆盖),我将字典更改为列表并将 shared_dict[key] = value 更改为 shared_list.append((key,value))。覆盖正在进行程序实际上也在写入可变数量的对。有时是三个,有时是两个,有时是四个。我已在此处添加代码以供您启发但我实际上不会使用我发布的代码做任何事情
  2. idle 运行时,这表现不佳。您需要使用 python .py 从命令行运行它。
  3. 我有没有提到过除了测试之外你不应该使用这段代码说“哈,那确实工作得相当糟糕,不是吗?”如果您能找到解决问题的方法,那么您将获得更多权力,但我必须想象有更好的方法来设置它,从而完全回避问题。

无论你做什么决定,祝你好运。不要使用我的代码。它运行并且不会给你恶意软件,但这就是它的全部优点。

关于python - 我如何写入父字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12066320/

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