Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在运行时创建字典_Python_Python 3.x - Fatal编程技术网

Python 在运行时创建字典

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 = ['

我正在编写一个脚本,支持FE分析中的用户。 在脚本运行期间,我会得到一个类似这样的FEA实体列表

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] = {}