我如何在没有明确定义的字段值的情况下初始化字典

问题描述 投票:0回答:1

我有一个这样初始化的字典:

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)

我知道,由于多种原因,这是行不通的,但希望它能使您理解此模式的外观。谢谢!

python dictionary oop initialization
1个回答
0
投票

为什么不执行一个没有任何值或空值的字典并在n不为空时打印具有更新值的另一个字典?

© www.soinside.com 2019 - 2024. All rights reserved.