我有一个关于在python字典上进行计算的问题----在这种情况下,字典有数百万个键,列表同样很长。似乎存在分歧,是否可以在这里使用并行化,所以我将在这里更明确地提出这个问题。这是最初的问题:
优化解析海量Python字典,多线程
这是一个玩具(小)python字典:
example_dict1 = {'key1':[367, 30, 847, 482, 887, 654, 347, 504, 413, 821],
'key2':[754, 915, 622, 149, 279, 192, 312, 203, 742, 846],
'key3':[586, 521, 470, 476, 693, 426, 746, 733, 528, 565]}
假设我需要解析列表的值,我已将其实现为以下简单(玩具)函数:
def manipulate_values(input_list):
return_values = []
for i in input_list:
new_value = i ** 2 - 13
return_values.append(new_value)
return return_values
现在,我可以轻松解析此字典的值,如下所示:
for key, value in example_dict1.items():
example_dict1[key] = manipulate_values(value)
导致以下情况:
example_dict1 = {'key1': [134676, 887, 717396, 232311, 786756, 427703, 120396, 254003, 170556, 674028],
'key2': [568503, 837212, 386871, 22188, 77828, 36851, 97331, 41196, 550551, 715703],
'key3': [343383, 271428, 220887, 226563, 480236, 181463, 556503, 537276, 278771, 319212]}
问:为什么我不能使用多个线程来执行此计算,例如三个线程,一个用于 、和 ?会在这里工作吗?key1key2key3concurrent.futures.ProcessPoolExecutor()
原始问题:有没有更好的方法来优化这种快速获取?
慕妹3242003
月关宝盒
相关分类