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 相关文章推荐
Django Admin 实现外键过滤的方法
Sep 29 Python
浅谈Python处理PDF的方法
Nov 10 Python
解决Django的request.POST获取不到内容的问题
May 28 Python
Sanic框架Cookies操作示例
Jul 17 Python
Django文件存储 默认存储系统解析
Aug 02 Python
python安装virtualenv虚拟环境步骤图文详解
Sep 18 Python
python绘制动态曲线教程
Feb 24 Python
pycharm的python_stubs问题
Apr 08 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
python Socket网络编程实现C/S模式和P2P
Jun 22 Python
详解Python流程控制语句
Oct 28 Python
如何获取numpy array前N个最大值
May 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
php抓取页面的几种方法详解
2013/06/17 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
基于Python实现一个简单的银行转账操作
2016/03/06 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
python3处理含有中文的url方法
2018/05/10 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
django 将model转换为字典的方法示例
2018/10/16 Python
python3实现表白神器
2019/04/09 Python
Django中信号signals的简单使用方法
2019/07/04 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
冰淇淋开店创业计划书
2014/02/01 职场文书
优秀教师事迹简介
2014/02/02 职场文书
课程设计的心得体会
2014/09/03 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
采购员岗位职责
2015/02/03 职场文书
南极大冒险观后感
2015/06/05 职场文书
Nginx利用Logrotate实现日志分割
2022/05/20 Servers
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android