在没有嵌套 for 循环的情况下循环 dict
Looping over dict without nested for loops
我有一本名为 params 的字典。我需要遍历这个字典,以便它按顺序打印 learn_rate 和 btch_size 的所有可能组合。
这是我的命令:
params = dict(
learn_rate = [0.01, 0.001, 0.0001]
,btch_size = [50, 70, 80]
)
期望的输出:
0.01 50
0.01 70
0.01 80
0.001 50
0.001 70
0.001 80
0.0001 50
0.0001 70
0.0001 80
我正在考虑为此使用 itertools,因为我不想在决定添加新列表时使用大量嵌套的 for 循环。有人有什么建议吗?
'itertools.product()' 正是这样做的。您可以添加任意数量的列表。
>>> list(itertools.product(*params.values()))
[(0.01, 50), (0.01, 70), (0.01, 80), (0.001, 50), (0.001, 70), (0.001, 80), (0.0001, 50), (0.0001, 70), (0.0001, 80)]
>>>
我有一本名为 params 的字典。我需要遍历这个字典,以便它按顺序打印 learn_rate 和 btch_size 的所有可能组合。 这是我的命令:
params = dict(
learn_rate = [0.01, 0.001, 0.0001]
,btch_size = [50, 70, 80]
)
期望的输出:
0.01 50
0.01 70
0.01 80
0.001 50
0.001 70
0.001 80
0.0001 50
0.0001 70
0.0001 80
我正在考虑为此使用 itertools,因为我不想在决定添加新列表时使用大量嵌套的 for 循环。有人有什么建议吗?
'itertools.product()' 正是这样做的。您可以添加任意数量的列表。
>>> list(itertools.product(*params.values()))
[(0.01, 50), (0.01, 70), (0.01, 80), (0.001, 50), (0.001, 70), (0.001, 80), (0.0001, 50), (0.0001, 70), (0.0001, 80)]
>>>