0

如果我有一个数组 Numbers = [1, 2, 3] 和一个依赖于这些数字的循环,并且在循环内部我有一个字典或一些我想用数组 Numbers 中的数字命名的对象,我怎么能使用百分比操作数来分配值?

所以它看起来像

Numbers = [1, 2, 3]
for number in Numbers:
    dictionary_"" = {}

其中“”将是数字。

仅使用百分比操作数,例如dictionary_%g = {} %(number),是行不通的。我怎样才能做到这一点?谢谢。

4

2 回答 2

3

您不能和/或不应该动态命名变量。您可以做的是创建一个包含这三个字典的列表或字典。两级数据结构。

numbers = [1, 2, 3]
dictionaries = {}
for number in numbers:
    dictionaries[number] = {}

或者,更简洁:

dictionaries = {number: {} for number in numbers}
于 2013-05-21T02:31:12.840 回答
2

exec函数可以让您动态命名变量。在你的情况下,

Numbers = [1, 2, 3]
for number in Numbers:
    exec('dictionary_%d = {}' % number)

但这确实不是一个好主意。知道你打算做什么会很有帮助,但如果 John Kugelman 的回答解决了你的问题,我肯定会推荐 over exec

于 2013-05-21T02:34:04.817 回答