创建一个名称与列表中项目名称相同的变量

Ama*_*ngh 4 python python-3.x

出于好奇只是一个愚蠢的问题.

让我们说有一个元素列表

fruits_lst = ['apples','oranges','bananas','guavas']
Run Code Online (Sandbox Code Playgroud)

现在可以创建单独的单独词典,但名称是列表中元素的名称吗?

期望的结果:

apples=dict()
oranges=dict()
bananas=dict()
guavas=dict()
Run Code Online (Sandbox Code Playgroud)

我知道通过查看元素的名称可以很容易地做到这一点,但我想要实现的是程序以某种方式获取元素名称,同时迭代它,然后创建具有相同名称的空字典.可能吗?请指导我完成..

jpp*_*jpp 5

dict而不是globals

不建议使用全局变量.更清晰,易于维护的是字典词典.例如,使用字典理解:

fruits_lst = ['apples', 'oranges', 'bananas', 'guavas']

d = {fruit: {} for fruit in fruits_lst}
Run Code Online (Sandbox Code Playgroud)

然后访问一个特定的内字典通过d['apples'],d['oranges']

请参阅此答案以获取解释其有用的原因,此处为另一个示例.

  • @AmanSingh,不,使用`d ['apples']`.对于新程序员来说,这似乎很麻烦,但你不应该认为这是低效或不合需要的.经验丰富的程序员知道,大量变量难以维护,更容易导致错误. (3认同)
  • 这是解决这个问题的合理方法.数据有一个结构,这里反映的是类似的dicts被组合在一起,这允许将它们一起处理,而不是将一堆全局变量混合在一起. (2认同)