python for循环赋值问题


Posted in Python onJune 03, 2021

背景

写代码的时候,你会发现你的代码越写越多。

然而,功能需要也越来越多,然后你的冗余代码就多得不能再多了~~~怎么办,我太难了。

那就寻求一些高级写法,一般的高级写法都是尽可能地短。

另外,把重复的代码抽取出来,封装成函数,每次使用直接调函数即可。

For循环赋值

前提条件:我创建了一个road类,这个类里面有这些属性。我先初始化给road赋值,然后再把这些对象放到roadObjList集合里面。

目标:从roadObjList集合里面取出每个road对象的objectid值,然后放入到新的列表里面。

class road():
    def __init__(self,gid,objectid,name,width,direction,speed,type,snode,enode,length,startX,startY,endX,endY):
        self.gid= gid
        self.objectid = objectid
        self.name = name
        self.width = width
        self.direction = direction
        self.speed = speed
        self.type = type
        self.snode = snode
        self.enode = enode
        self.length =  length
        self.startX = startX
        self.startY = startY
        self.endX = endX
        self.endY = endY

写法一:

objList = []
        for r in roadObjList:
            objList.append(r.objectid)

写法二:

objList = [r.objectid for r in roadObjList]

我补充几句

关于for循环遍历的写法,还有好几种,虽然写法很low,但是效果都是差不多的。

写法一:

for i,ele in enumerate(roadPointObjList):
    print(i)
    print(ele)

写法二:

for i in range(0, len(roadPointObjList)):
    print(i)
    print(roadPointObjList[i])

总结

我觉得两种写法其实都是一样的,时间复杂度都是O(n),毕竟都要遍历for循环。

只是第二种写法一步到位,当然如果要在for循环里面作判断的话,那就选第一种写法了。

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

Python 相关文章推荐
使用 Python 获取 Linux 系统信息的代码
Jul 13 Python
Python fileinput模块使用实例
May 28 Python
Django的URLconf中使用缺省视图参数的方法
Jul 18 Python
django开发之settings.py中变量的全局引用详解
Mar 29 Python
Python实现一个转存纯真IP数据库的脚本分享
May 21 Python
Python 多核并行计算的示例代码
Nov 07 Python
python使用socket创建tcp服务器和客户端
Apr 12 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
python设定并获取socket超时时间的方法
Jan 12 Python
python3使用QQ邮箱发送邮件
May 20 Python
Python loguru日志库之高效输出控制台日志和日志记录
Mar 07 Python
python二维图制作的实例代码
Dec 03 Python
python批量创建变量并赋值操作
Jun 03 #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数据分析之绘图和可视化详解
You might like
php轻松实现中英文混排字符串截取
2014/05/28 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
PHP5.3新特性小结
2016/02/14 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
浅谈python中的变量默认是什么类型
2016/09/11 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
用Python读取几十万行文本数据
2018/12/24 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
电子商务专业推荐信范文
2013/12/02 职场文书
住房公积金接收函
2014/01/09 职场文书
公司经理任命书
2014/06/05 职场文书
好人好事演讲稿
2014/09/01 职场文书
初中家长评语大全
2014/12/26 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技