0
別のdictにdictを追加する必要がありますが、2番目の位置はdinamicである必要があります。python - 別のdictにdictを追加
from time import gmtime, strftime
config = {}
def addStr(reason):
datetime = strftime("%Y-%m-%d %H:%M:%S", gmtime());
#config[reason] = {} # uncoment here got error
config[reason][datetime] = True
return config
print (addStr('reason1')) # {'reason1': {'2017-10-30 20:08:26': True} }
time.sleep(10)
print (addStr('reason1')) # {'reason1': {'2017-10-30 20:08:26': True, '2017-10-30 20:08:36': True} }
time.sleep(10)
print (addStr('reason1')) # {'reason1': {'2017-10-30 20:08:26': True, '2017-10-30 20:08:36': True, '2017-10-30 20:08:46': True} }
time.sleep(10)
print (addStr('reason2')) # {'reason1': {'2017-10-30 20:08:26': True, '2017-10-30 20:08:36': True, '2017-10-30 20:08:46': True}, 'reason2': {'2017-10-30 20:08:56': True} }
私はエラーを取得しています:
KeyError例外: 'REASON1'
@JoeIddonを使用する必要があります:ストレート割り当てが* *変更しないで置き換えます。つまり、必要に応じて内部のdictを作成する 'setdefault'メソッドでプレーン' dict'を使用できます(config.setdefault(reason、{})[datetime] = True' – ShadowRanger
@ShadowRangerはい、私は同意します、私は彼らが 'function'が同じ' key'で呼び出された場合に修正された後に、それらをどのように追加したいかについて混乱しました。 –