笔记:python 批量生成变量
在编写程序时,有时我们需要命名相当多的变量,比如x0、x1、x2、…、xn,用手一个个打出来是相当麻烦的。那么这时我们就需要批量生成变量了。
解决这个问题的关键在于,'xn'是自动构造出来的字符串,需要利用适当途径,把它转化成能被赋值的变量。
方法一 :locals()
locals() 函数会以字典类型返回当前位置的全部局部变量。
for i in range(5):
# 生成变量
locals()['x'+str(i)]=['x',i,i+1]
# 打印变量
print( locals()['x'+str(i)] )
for i in range(5):
# 生成变量
locals()['x'+str(i)]=i**i
# 打印变量
print( locals()['x'+str(i)] )
方法二 :exec()
exec()用于执行储存在字符串或文件中的 Python 语句。
for i in range(5):
# 生成变量
exec('x{}={}'.format(i,2*i+3))
# 打印变量
exec('print(x{})'.format(i))
for i in range(5):
# 生成变量
exec('x{}={}'.format(i,['x',i,i+1]))
# 打印变量
exec('print(x{})'.format(i))
方法三 :
字典的灵活使用
# 生成变量
temp = {}
for i in range(5):
temp['x'+str(i)] = ['x',i,i**i]
# 打印变量
for i in range(5):
print(temp['x'+str(i)])
# 生成变量
temp = {}
for i in range(5):
temp['x'+str(i)] = i**i
# 打印变量
for i in range(5):
print(temp['x'+str(i)])