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 把生成的多个模型(函数)存储起来,方便调用。