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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM