如何在python中创建变量列表。例如,如何创建以下变量f_1,f_2,f_3,...,f_100。我想让它们带有“ for”循环。我可以在此特定问题中使用某个功能吗?
字典怎么样?
numd = {}
for i in range(100):
numd["f_{}".(i)] = 0
或只是列出一个列表,然后在其中添加一个for循环的值
如果您确实想动态分配新变量,则可以通过exec
函数运行分配命令,例如:
for i in range(100):
value = i * 2
var_name = "f_{}".format(i)
exec("{} = {}".format(var_name, repr(value)))
print(f_30)
但是,您需要一个非常具体的理由来执行上述操作。
通常的期望是,您只需将值放入单个list
对象中,然后按索引号访问它。例如:
f = []
for i in range(100):
value = i * 2
f.append(value)
print(f[30])
如果可以在全局名称空间中创建它们,那么您还可以使用以下代码:
for i in range(100):
globals()["f_"+str(i)] = 0
globals()
为您提供了在全局命名空间中定义的名称的字典。
使用地图和范围;在lambda函数中将整数强制转换为字符串,并在数字前面加上“ f_”:
[*map(lambda x: "f_"+str(x), [*range(1, 100)])]
使用for循环:
numeric_range = [*range(1, 100)]
lst = []
for i in numeric_range:
lst.append("f_"+str(i))
print(lst)
使用列表理解:
["f_"+str(i) for i in range(1, 100)]