python 实现循环定义、赋值多个变量的操作

时间:2022-04-08 04:31:47

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