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的Flask框架应用调用Redis队列数据的方法
Jun 06 Python
开源Web应用框架Django图文教程
Mar 09 Python
Python with语句上下文管理器两种实现方法分析
Feb 09 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
python实现屏保程序(适用于背单词)
Jul 30 Python
django实现支付宝支付实例讲解
Oct 17 Python
python实现回旋矩阵方式(旋转矩阵)
Dec 04 Python
Python利用逻辑回归分类实现模板
Feb 15 Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 Python
在python中使用pyspark读写Hive数据操作
Jun 06 Python
Python连续赋值需要注意的一些问题
Jun 03 Python
分享7个 Python 实战项目练习
Mar 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
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
模仿OSO的论坛(五)
2006/10/09 PHP
一些需要禁用的PHP危险函数(disable_functions)
2012/02/23 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
2015/11/27 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
javascript 动态参数判空操作
2008/12/22 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
jQuery简单实现图片预加载
2015/04/20 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
django启动uwsgi报错的解决方法
2018/04/08 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
2013/01/30 HTML / CSS
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
《金子》教学反思
2014/04/13 职场文书
高中语文课后反思
2014/04/27 职场文书
中职生自荐信范文
2014/06/15 职场文书
维稳工作情况汇报
2014/10/27 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
硕士学位论文评语
2014/12/31 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python