python 動態生成一系列變數名

2022-05-25 08:06:09 字數 764 閱讀 1007

python 中要動態生成一系列變數名,要寫乙個程式,讓 a1=1,a2=2,… a100=100

通常類似於matlab 中,可以使用 eval,但是實際上根本不需要這種危險的東西,因為python的變數名就是乙個字典的key而已。

要獲取這個字典,直接用 locals 和 globals 函式即可。

1 names = locals()  #

獲取當前程式段中的全體區域性變數名

2for i in np.arange(0,10):

3 names['

t%s'%i]=i

這裡的 local() 是乙個儲存了全體區域性變數名及其值的字典

不過你也許會說這個例子沒什麼用,畢竟對於這個例子用陣列來實現更為實用。

但是,當需要演算法生成一系列模型時,通過這種動態的賦予模型名的方式,就可以起到很大的作用了

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

最近突然想到根本不需要這麼複雜,只要知道 python 提供了 list, 而 list 內的元素是可以為任何型別,且可以不相同的,使用 list  即可。

python 把幾乎所有的東西都當做了 「物件「,使用起來非常方便。

1 a = [none]*20

2for i in np.arange(10):

3 a[i] = i #

## use a[1] to represent a1

甚至可以使用乙個 list 把生成的多個模型(函式)儲存起來,方便呼叫。

實操筆記 python 動態生成一系列變數

可以使用內建函式locals 生成一系列的動態變數如a1,a2,a3 names locals for i in range 3 names a str i i print a str i print names a str i out a00 a11a22 問題 主要是python執行sql操作 ...

模擬動態陣列及其一系列操作

線性表是一種資料結構。在邏輯上,具有除了第乙個結點,其他結點有唯一前驅,除了最後乙個結點,其他結點有唯一後驅的特點。順序表和鏈式表是線性表的兩種實現方式,它們只在儲存方式上有區別,在邏輯上是一致的。區別在於順序表示使用連續的一段空間來儲存,我們常用的陣列就是線性表的一種順序表示。陣列是靜態分配記憶體...

關於mysql 一系列操作

這是在linux 的mysql的資料庫操作,備份資料庫 mysqldump u root p cxn usr local backupcxn.sql 引數說明 cxn 代表著我要備份的資料庫名稱,usr local backupcxn.sql代表著備份到usr local下,輩分的名稱叫做backu...