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