【发布时间】:2020-01-16 16:43:19
【问题描述】:
这是我的情况 - 我有一本字典:
dic = {"al" : False,
"ol" : True,
"psc": True,
"cp" : False}
然后我在其他地方定义了另外三个dicts,我们想象一下我们导入了它们,因此它们作为变量存在于模块的命名空间中。
appointmentslist_params # al
officerlist_params # ol
psc_params # psc
companyprofile_params # cp
现在,我想根据上面字典的布尔值创建一个包含 dicts 的列表。
我目前的解决方案是:
params_ls = []
if dic["ol"]:
params_ls.append(officerlist_params)
if dic["psc"]:
params_ls.append(psc_params)
if dic["al"]:
params_ls.append(appointmentslist_params)
if dic["cp"]:
params_ls.append(companyprofile_params)
我只是想知道是否有更 Pythonic 的方式 - 这是非常可读但不是很干燥。
【问题讨论】:
标签: python list-comprehension dictionary-comprehension