从python中字典的字典中随机选择
我定义了以下形式的词典:从python中字典的字典中随机选择,python,dictionary,Python,Dictionary,我定义了以下形式的词典: my_dict = { "my_key1": {"key_1": value_1, "key_2": value_2}, "my_key2": {"key_1": value_1, "key_2": value_2, "key_3": value_3}, "my_key3": {"key_1": value_1, "key_2": value_2, "key_3": value_3, , "key_4": value_4}, "my_ke
my_dict = {
"my_key1": {"key_1": value_1, "key_2": value_2},
"my_key2": {"key_1": value_1, "key_2": value_2, "key_3": value_3},
"my_key3": {"key_1": value_1, "key_2": value_2, "key_3": value_3, , "key_4": value_4},
"my_key4": {"key_1": value_1, "key_2": value_2}
}
我想为每个my_键随机选择一个“值”。
我在下面尝试了,但没有成功:
for key in my_dict:
# randomly select from the sub-dictionary
rand = random.sample(list(param[key]), 1)
# get value at that randomVal
net[key] = param[key][rand]
是否有其他方法可以随机选择每个键的值。
提前谢谢 IIUC,您可以使用
列表理解
和随机选择
>>> r = [random.choice(list(v.values())) for k,v in my_dict.items()]
['value_2', 'value_2', 'value_3', 'value_4'] # example
IIUC,您可以使用
列表理解
和随机。选择
>>> r = [random.choice(list(v.values())) for k,v in my_dict.items()]
['value_2', 'value_2', 'value_3', 'value_4'] # example
我认为您需要
net[key]=param[key][rand[0]]
因为示例返回列表,所以您需要rand[0]
但是param
是什么?你是说my_dict
吗?是的,参数被误印为“my_dict”。谢谢,同样有效:)我想您需要net[key]=param[key][rand[0]]
既然示例返回列表,您需要rand[0]
但是param
是什么?你是说my_dict
吗?是的,参数被误印为“my_dict”。谢谢,同样有效:)