とPythonの辞書のすべてのサブセットを取得し、私持って、次の辞書:私は「paramx」の各番号xの正確に一つを持っている必要があります。この辞書のすべての可能なサブセットを作成する方法を制限
intervals = {'param1': [0, 1],
'param2_hi': [4, 5, 6, 7, 8, 9],
'param2_lo': [0, 1, 2, 3, 4, 5],
'param3_hi': [9, 10, 11, 12, 13, 14, 15],
'param3_lo': [5, 6, 7, 8, 9, 10],
'param4': [0, 1],
'param5_hi': [4, 5, 6, 7, 8, 9],
'param5_lo': [0, 1, 2, 3, 4, 5]}
?つまり、param1(_loまたは_hi)、param2(_loまたは_hi)のエントリなどが1つしかなく、各サブセットには_loまたは_hiがないすべてのparamxが含まれている必要があります。
subset_one = {'param1': [0, 1],
'param2_hi': [4, 5, 6, 7, 8, 9],
'param3_hi': [9, 10, 11, 12, 13, 14, 15],
'param4': [0, 1],
'param5_hi': [4, 5, 6, 7, 8, 9]}
subset_two = {'param1': [0, 1],
'param2_lo': [0, 1, 2, 3, 4, 5],
'param3_lo': [5, 6, 7, 8, 9, 10],
'param4': [0, 1],
'param5_lo': [0, 1, 2, 3, 4, 5]}
# Example of mixed '_hi' and '_lo' intervals
subset_three = {'param1': [0, 1],
'param2_lo': [0, 1, 2, 3, 4, 5],
'param3_hi': [9, 10, 11, 12, 13, 14, 15],
'param4': [0, 1],
'param5_lo': [0, 1, 2, 3, 4, 5]}
...
注:私は、キーを保存したい、と値のペア。ここ
は、2つの可能なサブセットです。
編集: '_lo'と '_hi'の間隔が混在する可能性を示すためにsubset_threeが追加されました。
これは唯一の鍵ですか? –
これはパラメータの有限リストですか、それらは実際の名前ですか?そして、常に増分の順番で番号が付けられていますか? – zwer
私のプログラムのさまざまな実行によっては、もっと多くなることがありますが、キーは常にparamx、paramx_lo、paramx_hiという形式になります(xは整数)。 –