我将以下代码嵌套在另一个函数中(因此这不是任何类型的独立文件):
train_set_percentages = [0.2,0.5,0.8,1.0]
results = {}
for i in range(len(train_set_percentages)):
kf2_index_percent,kf5_index_percent,loo_index_percent = generate_data_entry(train_set_percentages[i])
results[kf2_index_percent[0]] = kf2_index_percent[1]
results[kf5_index_percent[0]] = kf5_index_percent[1]
results[loo_index_percent[0]] = loo_index_percent[1]
generate_data_entry
返回三个元组,kf2_index...等
。我需要最终字典中的所有元组(键,数据)。
我有:
import threading
from threading import Thread
但是,我不知道如何从函数的输出构建这个字典。只有 5 个训练集百分比,那么我如何并行运行它们并构建字典?
for i in range(len(train_set_percentages)):
Thread(target=generate_data_entry(train_set_percentages[i]))
然后...??
我在问题下方发布的链接中找到了解决方案。为了按照我上面描述的方式生成字典,
from threading import Thread
numbers = [1,2,3,4]
keys = ['one','two','three','four']
def add_to_dict(number,key,dict):
dict[key] = number
n = 5
dict_list = [{}] * 5
threads = [None] * 5
# run threads
for i in range(len(threads)):
threads[i] = Thread(target=add_to_dict,args=(number[i],keys[i],dict_list[i]))
threads[i].start()
for i in range(len(threads)):
threads[i].join()
# merge dictionaries (using Python 3.5 syntax)
results = {}
for i in dict_list:
results = {**results,**i}
我是一名优秀的程序员,十分优秀!