n次元の辞書を作成する方法が必要です。
基本的に、各辞書には値1または2の4つのキーが含まれています。
1か2かをチェックする辞書を作成する必要があります。これを、この新しく作成された辞書内で、もう一度「n」回実行します。これは基本的なコードです:
dic1 = {'a': 1, 'b': 2, 'c': 1, 'd': 1}
dic2 = {'a': 1, 'b': 2, 'c': 1, 'd': 2}
dic0 = {'a': 2}
def doing_it(dic):
new_mod = {}
for keys in dic:
if dic[keys] == 1:
new_mod[keys] = dic1
if dic[keys] == 2:
new_mod[keys] = dic2
return new_mod
doing_it(dic0)
私が必要なものの例:
dic1 = {'a': 1, 'b': 2, 'c': 1, 'd': 1} #default1
dic2 = {'a': 1, 'b': 2, 'c': 1, 'd': 2} #default2
dic0 = {'a': 1, 'b': 2, 'c': 1, 'd': 2} #My starting dictionary
#first iteration
dic01 = {'a': dic1, 'b': dic2, 'c': dic1, 'd': dic2}
#second iteration
dic02 = {'a': {'a': dic1, 'b': dic2, 'c': dic1, 'd': dic1}, 'b': {'a': dic1, 'b': dic2, 'c': dic1, 'd': dic2}, 'c': {'a': dic1, 'b': dic2, 'c': dic1, 'd': dic1}, 'd': {'a': dic1, 'b': dic2, 'c': dic1, 'd': dic2}}
これをdoint_it()
何度も実行します。
def doing_it(dic):
new_mod = {}
for i in sorted(dic.keys()):
if dic[i] == 1:
new_mod[i] = dic1
elif dic[i] == 2:
new_mod[i] = dic2
else:
new_mod[i] = doing_it(dic[i])
return new_mod
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加