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编写一个简单的俄罗斯方块游戏的教程
Apr 03 Python
Python pass详细介绍及实例代码
Nov 24 Python
利用python生成一个导出数据库的bat脚本文件的方法
Dec 30 Python
python 实现红包随机生成算法的简单实例
Jan 04 Python
Python中的命令行参数解析工具之docopt详解
Mar 27 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 Python
Python实现微信好友的数据分析
Dec 16 Python
PyTorch中Tensor的数据统计示例
Feb 17 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
Mar 30 Python
简单了解python列表和元组的区别
May 14 Python
Python中OpenCV实现简单车牌字符切割
Jun 11 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 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字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
javascript 事件处理程序介绍
2012/06/27 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
js判断文件类型大小并给出提示的实现方法
2018/01/03 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
在Python中使用Mako模版库的简单教程
2015/04/08 Python
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
python实现多线程行情抓取工具的方法
2018/02/28 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
前台文员岗位职责
2013/12/28 职场文书
高中语文课后反思
2014/04/27 职场文书
任命书怎么写
2014/06/04 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
婚宴新娘致辞
2015/07/28 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
2016父亲节感恩话语
2015/12/09 职场文书
微信小程序调用python模型
2022/04/21 Python