python 动态生成一系列变量名

python 中要动态生成一系列变量名,要写一个程序,让 a1=1,a2=2,… a100=100
通常类似于matlab 中,可以使用 eval,但是实际上根本不需要这种危险的东西,因为Python的变量名就是一个字典的key而已。

要获取这个字典,直接用 locals 和 globals 函数即可。

1 names = locals()  #获取当前程序段中的全体局部变量名  
2 for i in np.arange(0,10):
3     names['t%s'%i]=i

这里的 local() 是一个存储了全体局部变量名及其值的字典

不过你也许会说这个例子没什么用,毕竟对于这个例子用数组来实现更为实用。

但是,当需要算法生成一系列模型时,通过这种动态的赋予模型名的方式,就可以起到很大的作用了

######以下是最新更新 

最近突然想到根本不需要这么复杂,只要知道 python 提供了 list, 而 list 内的元素是可以为任何类型,且可以不相同的,使用 list  即可。

python 把几乎所有的东西都当做了 “对象“,使用起来非常方便。

1 A = [None]*20
2 for i in np.arange(10):
3     A[i] = i ### use A[1] to represent a1

甚至可以使用一个 list 把生成的多个模型(函数)存储起来,方便调用。

原文地址:https://www.cnblogs.com/Gelthin2017/p/9719224.html