Python 在运行时创建字典
我正在编写一个脚本,支持FE分析中的用户。 在脚本运行期间,我会得到一个类似这样的FEA实体列表Python 在运行时创建字典,python,python-3.x,Python,Python 3.x,我正在编写一个脚本,支持FE分析中的用户。 在脚本运行期间,我会得到一个类似这样的FEA实体列表 Ents=['BAR','SHELL','BEAM'] 我必须为列表中的每个项目创建一个字典,以收集和存储来自其他来源的正确值,并且可能的FEA实体的数量很长,如果引入新实体,可能会发生变化 有没有一种方法可以“在运行时动态地”(我不知道如何描述我的请求)创建字典,比如 因此,对于上面的例子,我得到了3个dict:BAR_dict、SHELL_dict和BEAM_dict 以及 Ents = ['
Ents=['BAR','SHELL','BEAM']
我必须为列表中的每个项目创建一个字典,以收集和存储来自其他来源的正确值,并且可能的FEA实体的数量很长,如果引入新实体,可能会发生变化
有没有一种方法可以“在运行时动态地”(我不知道如何描述我的请求)创建字典,比如
因此,对于上面的例子,我得到了3个dict:BAR_dict、SHELL_dict和BEAM_dict
以及
Ents = ['TRUSS','WELD','CONNECTOR']
我得到了一个名为TRUSS\u dict、WELD\u dict和CONNECTOR\u dict的dict试试这个:
EntDicts = {}
for Ent in Ents:
EntDicts[Ent] = {}
然后随意使用
EntDicts
。为什么不将所有dicts存储在一个“超级dict”中,比如dicts=dict();dicts[item+''u dict']=dict()
?在Python中,使用dict compension:Ents\u dict={e:{}for e in Ents}
使用动态变量通常被认为是一种反模式。相反,您应该使用某种容器。您选择的类型取决于您的需要。在这种情况下,您似乎希望通过使用字符串访问数据,因此另一个dict是一个自然选择。
EntDicts = {}
for Ent in Ents:
EntDicts[Ent] = {}