我有一个这样初始化的字典:
n = 5
myDict = { 'Field1' : 'Hello',
'Field2' : [0]*n,
'Field3' : [2]*n,
'Field4' : [4]*n,
'Field5' : 'World'}
我希望能够在不知道n
值的情况下初始化myDict。然后在以后的某个时间点,当知道n
时,更新所有利用n
分配列表长度的字段。我不希望重新创建字典。我的第一个想法是利用ListInit函数,除非设置n,否则该函数将返回其自身。我相信我以前见过的设计模式如下:
def ListInit(n=None):
return n if n else ListInit
myDict = { 'Field1' : 'Hello',
'Field2' : [0]*ListInit(),
'Field3' : [2]*ListInit(),
'Field4' : [4]*ListInit(),
'Field5' : 'World'}
ListInit(5)
我知道,由于多种原因,这是行不通的,但希望它能使您理解此模式的外观。谢谢!
为什么不执行一个没有任何值或空值的字典并在n
不为空时打印具有更新值的另一个字典?