【发布时间】:2020-12-01 18:49:10
【问题描述】:
我想调用一个名称中带有数字的变量。我认为我最接近的是将迭代器连接到名称上,并将其转换为字典,但它不起作用。
这是我尝试过的:
dict0 = {"pet1":"dog", "pet2":"cat", "pet0":"bird"}
dict1 = {"first":"a", "second":"b", "third":"c"}
dict2 = {"num1":1,"num2":2,"num3":3}
for i in range(3):
tempDict = "dict"+str(i) # type is string
print(dict(tempDict))
output: ValueError: dictionary update sequence element #0 has length 1; 2 is required
这些字典正在使用数据库调用填充,表编号为 0,1,2...n。有时我有一本字典,有时我有多个。如果可能的话,能够调用它们并迭代地处理内容将非常方便。我不知道该用什么谷歌来寻找答案,提前谢谢你。
【问题讨论】:
-
"我想调用一个名称中带有数字的变量。" - 不。使用列表。
-
为什么不只是
for tempDict in [dict0, dict1, dict2]:? -
每当您有一个变量列表(例如编号为 0、1、2、...、n 的表)并且您想创建变量,例如 dict0、dict1、dict2 等. 想象一下
n非常大,就像一百万一样。你会创建 100 万个名为 dict0、dict1、...、dict999999 的变量吗?不,你不会。这就是你知道你需要使用其他东西的方式,这通常是一个列表(如果你可以按数字和顺序索引)或字典(否则)。 -
@jarmod 这是一个绝妙的表达方式。
标签: python variable-types