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执行get提交的方法
Apr 29 Python
python获取本机mac地址和ip地址的方法
Apr 29 Python
Python实现查找系统盘中需要找的字符
Jul 14 Python
使用Python对IP进行转换的一些操作技巧小结
Nov 09 Python
全面了解Python环境配置及项目建立
Jun 30 Python
教大家玩转Python字符串处理的七种技巧
Mar 31 Python
python如何获取服务器硬件信息
May 11 Python
rabbitmq(中间消息代理)在python中的使用详解
Dec 14 Python
python实现拓扑排序的基本教程
Mar 11 Python
Python批处理删除和重命名文件夹的实例
Jul 11 Python
python二分法查找算法实现方法【递归与非递归】
Dec 06 Python
Python接口自动化判断元素原理解析
Feb 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与XML联手进行网站编程代码实例
2008/07/10 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
2017/08/10 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
js静态作用域的功能。
2006/12/25 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
一行Python代码制作动态二维码的实现
2019/09/09 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
linux下进程间通信的方式
2013/01/23 面试题
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
自动化系在校本科生求职信
2013/10/23 职场文书
后进生转化工作制度
2014/01/17 职场文书
音乐器材管理制度
2014/01/31 职场文书
致共产党员倡议书
2014/04/16 职场文书
党员个人对照检查材料
2014/10/01 职场文书
公务员政审材料
2014/12/23 职场文书
2016猴年春节问候语
2015/11/11 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书