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脚本实现批量网站存活检测遇到问题及解决方法
Oct 11 Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 Python
深入flask之异步非堵塞实现代码示例
Jul 31 Python
Python tkinter label 更新方法
Oct 11 Python
Python比较配置文件的方法实例详解
Jun 06 Python
python yield关键词案例测试
Oct 15 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
Feb 17 Python
python dict乱码如何解决
Jun 07 Python
OpenCV+python实现实时目标检测功能
Jun 24 Python
Python 必须了解的5种高级特征
Sep 10 Python
Django通过设置CORS解决跨域问题
Nov 26 Python
Python从MySQL数据库中面抽取试题,生成试卷
Jan 14 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
基于xcache的配置与使用详解
2013/06/18 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
JavaScript的目的分析
2007/01/05 Javascript
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
购物车前端开发(jQuery和bootstrap3)
2016/08/27 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
2019/05/23 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
HTML5中原生的右键菜单创建方法
2016/06/28 HTML / CSS
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
护士节慰问信
2015/02/15 职场文书
运动会加油稿
2015/07/22 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
小学四年级作文之写景
2019/08/23 职场文书
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python
Redis分布式锁Redlock的实现
2021/08/07 Redis