在Python中,动态分配字典条目

库尔特·皮克(Kurt Peek)

在下面的代码中,我有一个词典“ John”,该词典用一个特定的键(“电话号码”)为它分配一个值:

John={}
statement='John'+"['phone number']=123456"
exec statement

我使用上述“ exec”执行此操作的原因是,实际的字典“ John”和“电话号码”应该在for循环内变化。这可行,但不是很优雅。我想做类似的事情

vars()['John'+'_phone_number']=123456

因为在这种情况下,如果语法不正确,就不会冒“ exec”语句失败的风险。(除了字典条目,我想实现的功能类似于Matlab的“ assignin”功能)。

有没有一种方法可以在不使用“ exec”的情况下定义字典的条目?

通用直流

我认为您应该使用字典词典。您甚至可以使用Adefaultdict来避免需要为每个单独用户预先设置每个条目。

from collections import defaultdict

users = defaultdict(dict)
users['John']['phone number'] = 123456

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章