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 相关文章推荐
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 Python
tensorflow实现简单逻辑回归
Sep 07 Python
numpy给array增加维度np.newaxis的实例
Nov 01 Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 Python
Python实现合并excel表格的方法分析
Apr 13 Python
python使用socket实现的传输demo示例【基于TCP协议】
Sep 24 Python
python实现连续变量最优分箱详解--CART算法
Nov 22 Python
python队列原理及实现方法示例
Nov 27 Python
django框架单表操作之增删改实例分析
Dec 16 Python
python不到50行代码完成了多张excel合并的实现示例
May 28 Python
python多线程爬取西刺代理的示例代码
Jan 30 Python
Python 中数组和数字相乘时的注意事项说明
May 10 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笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
连接Python程序与MySQL的教程
2015/04/29 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
python实现学生管理系统
2018/01/11 Python
python执行CMD指令,并获取返回的方法
2018/12/19 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
计算机软件个人的自荐信范文
2013/12/01 职场文书
计算机应用应届生求职信
2014/07/12 职场文书