python - 多处理 Python 无法更新 O(1) 中的字典列表
问题描述
https://bugs.python.org/issue6766
该错误是在 2009 年发现的,但如今它似乎仍然是一个错误。
谁能告诉我如何在 O(1) 时间内更新一个值?
from multiprocessing import Manager
m = Manager()
d = m.dict()
d[1] = {}
d[1][1] = []
# but:
# 1 not in d[1]
因为 d[1] 的值是 unpicklable
所以我必须这样做:
d[1] = {}
# if i want to update d[1][1]
d[1] = {1: []} or
d[1] = {1: [1,2,3,...]}
随着 d[1][1] 列表长度的增长,时间成本将增长为 O(n),这太慢了
提前致谢!
解决方案
推荐阅读
- java - 如何在 Maven 打包中包含公共存储库
- javascript - 将 ArrayBuffer 从 Angular 传递给 Elecron - 使窗口崩溃
- asp.net-mvc-5 - 如何更改已提交表单的查询字符串
- java - Appium 服务器在等待时自动退出会话
- python - 迭代excel文件并在Python中的一个文件夹中输出
- c# - Automapper:如何将复杂对象展平为普通对象
- sql - 在 DB2 中设置 BLOB 的默认值
- swift - Swift:如何在 macOS 中观察屏幕是否被锁定
- r - 从面板数据中删除除特定年份之外的日期
- javascript - 是什么让 Waapi 中的迭代开始?