python批量创建变量并赋值操作


Posted in Python onJune 03, 2021

一,简单的情况:

核心是exec函数,exec函数可以执行我们输入的代码字符串。exec函数的简单例子:

exec ('print "hello world"')
hello world

可以很清晰的看到,我们给exec传入一个字符串'print "hello world"',exec是执行字符串里面的代码print "hello world"。根据这个特性,我们可以用占位符实现我们对变量的定义,如:

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赋值。

执行结果:

python批量创建变量并赋值操作

如果想要替换多个占位符,可以这样写:

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

在这里,分别以字符串、整数形式替换占位符,执行结果:

temp1=1

又如:

df_vars = [ 'df_%s_head' %i for i in range(0,10)]

df_vars:

['df_0_head',
 'df_1_head',
 'df_2_head',
 'df_3_head',
 'df_4_head',
 'df_5_head',
 'df_6_head',
 'df_7_head',
 'df_8_head',
 'df_9_head']

再比如:

for i in range(8):
     exec('v' + str(i) + ' = ' + str(i))
     print('v' + str(i) + ':', eval('v' + str(i)))

输出结果:

python批量创建变量并赋值操作

例子:

在python中,为了生成顺序的变量名并将其赋值,如

a_1 = []
a_2 = []
a_3 = []
.....
a_100 = []

可以利用将字符串转换成变量的函数exec

for i in range(1,100):
    b = 'a_' + str(i)
    exec(b + '= %r' % [])

二,略微复杂的命名

提取出:

D:/MyData/Excel/input/MarketHoliday_2018.xls

D:/MyData/Excel/input/MarketHoliday_2019.xls

。。。

D:/MyData/Excel/input/MarketHoliday_2023.xls

year = [2018,2019,2020,2021,2022,2023] 
file_path = 'D:/MyData/Excel/input/MarketHoliday_'  #注意:这里一定要用单引号

要先把year转为dict, 以便运用在For循环中,这里我用pandas转换

import pandas as pd
year = pd.Series(year)
year_dict = year.to_dict()

得到:

python批量创建变量并赋值操作

for i in year_dict:
    exec('Var_'+str(year_dict[i])+'='+'"'+(file_path + str(year_dict[i])+'.xls'+'"'))
    print('Var_'+str(year_dict[i])+':',eval('Var_'+str(year_dict[i])))

最终结果:

python批量创建变量并赋值操作

python 动态生成变量名及赋值

今晚在处理数据的时候偶然遇到一个命名上的难点,但是为了实现自动处理坚决不动手一条一条输入参数,我非要把它解决了,问题是这样的

首先我想要调用一个方法,然后输入的变量可以是字符串,但是,当你直接把字符串输入就不行了

这里献上代码:

t=['42342lh','234']
s='fgdfhdfhdfh'
exec(s+'=%s'%'t[0]')
print(fgdfhdfhdfh)
for i in range(2):
    m=f'names{i}'
    exec(m+'=%s'%'t[i]')
print(names1)

可以看出来m可以自己按规律这sing,同时也可以规律读取,最后每个m就成了变量。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现ID3决策树算法
Dec 20 Python
Django 使用logging打印日志的实例
Apr 28 Python
Python从文件中读取数据的方法讲解
Feb 14 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
python3中利用filter函数输出小于某个数的所有回文数实例
Nov 24 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
python实现从ftp服务器下载文件
Mar 03 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
Django CBV模型源码运行流程详解
Aug 17 Python
基于Python实现一个春节倒计时脚本
Jan 22 Python
python数字图像处理:图像的绘制
Jun 28 Python
python index() 与 rindex() 方法的使用示例详解
Dec 24 Python
详解运行Python的神器Jupyter Notebook
Jun 03 #Python
python中如何对多变量连续赋值
Python连续赋值需要注意的一些问题
Jun 03 #Python
pytorch fine-tune 预训练的模型操作
Jun 03 #Python
Python实现byte转integer
Jun 03 #Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
You might like
php学习笔记之面向对象
2014/11/08 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
jquery $.ajax相关用法分享
2012/03/16 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
[03:53]2016国际邀请赛中国区预选赛第三日TOP10精彩集锦
2016/06/29 DOTA
python发送邮件接收邮件示例分享
2014/01/21 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
对python的输出和输出格式详解
2018/12/08 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python批量解压zip文件的方法
2019/08/20 Python
Python获取时间戳代码实例
2019/09/24 Python
python路径的写法及目录的获取方式
2019/12/26 Python
jupyter实现重新加载模块
2020/04/16 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
Why do we need Unit test
2013/01/03 面试题
人力资源专员自我评价怎么写
2013/09/19 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
安全标兵事迹材料
2014/08/17 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书