python 實現循環定義、賦值多個變量的操作

exec函數,可以循環定義、賦值多個變量

exec ("temp%s=1"%1)

這段代碼的意思是,讓exec執行temp1=1。字符串裡面的%s由‘1’代替瞭。

我們在外面再套一個循環就可以實現對多個變量的定義瞭。

for i in range(10):
 exec ("temp%s=1"%i)

在這裡,通過一個循環來生成10個變量,i的變化從0到9。用變量i替代%s,所以在每次循環裡面,分別給temp0、temp1、temp2……賦值為1。

如果想要替換多個占位符,可以這樣寫:

exec ("temp%s=%d"%(i,i))

在這裡,分別以字符串、整數形式替換占位符,執行結果:

temp1=1

補充:Python循環語句裡一系列結果賦值給一系列變量,exec 函數

使用”工具”:

exec函數 ,占位符

情況說明: 

k是一個多層嵌套列表 #k.shape (9, 101, 4)

根據k生成9個DataFrame格式的,變量名分別為k1,k2…k9

from pandas import DataFrame
for i in range(k.shape[0]):
 exec ("k%s=DataFrame(k[%s])"%(i,i))

#占位符的使用和print()裡一樣。

#exec函數還可以用於,在for語句裡對 變量名有格式的變量 的處理。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: