exec函数,可以循环定义、赋值多个变量
1
|
exec ( "temp%s=1" % 1 )
|
这段代码的意思是,让exec执行temp1=1。字符串里面的%s由‘1'代替了。
我们在外面再套一个循环就可以实现对多个变量的定义了。
1
2
|
for i in range ( 10 ):
exec ( "temp%s=1" % i)
|
在这里,通过一个循环来生成10个变量,i的变化从0到9。用变量i替代%s,所以在每次循环里面,分别给temp0、temp1、temp2……赋值为1。
如果想要替换多个占位符,可以这样写:
1
|
exec ( "temp%s=%d" % (i,i))
|
在这里,分别以字符串、整数形式替换占位符,执行结果:
1
|
temp1 = 1
|
补充:Python循环语句里一系列结果赋值给一系列变量,exec 函数
使用"工具":
exec函数 ,占位符
情况说明:
k是一个多层嵌套列表 #k.shape (9, 101, 4)
根据k生成9个DataFrame格式的,变量名分别为k1,k2…k9
1
2
3
|
from pandas import DataFrame
for i in range (k.shape[ 0 ]):
exec ( "k%s=DataFrame(k[%s])" % (i,i))
|
#占位符的使用和print()里一样。
#exec函数还可以用于,在for语句里对 变量名有格式的变量 的处理。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.cnblogs.com/sxinfo/p/10533028.html