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实现截屏的函数
Jul 25 Python
python3使用scrapy生成csv文件代码示例
Dec 28 Python
python去除文件中重复的行实例
Jun 29 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
Oct 28 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
Python用字典构建多级菜单功能
Jul 11 Python
200行python代码实现2048游戏
Jul 17 Python
Pytorch训练过程出现nan的解决方式
Jan 02 Python
Python如何获取文件指定行的内容
May 27 Python
Python3爬虫发送请求的知识点实例
Jul 30 Python
Python 如何解决稀疏矩阵运算
May 26 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 24 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编程函数安全篇
2013/01/08 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
基于php判断客户端类型
2016/10/14 PHP
List Installed Hot Fixes
2007/06/12 Javascript
js日历功能对象
2012/01/12 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
Python设计模式之单例模式实例
2014/04/26 Python
Python模拟登录的多种方法(四种)
2018/06/01 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
学校安全工作制度
2014/01/19 职场文书
市场部管理制度
2014/02/02 职场文书
机关出纳岗位职责
2014/04/03 职场文书
幼儿评语大全
2014/04/30 职场文书
校运动会广播稿300字
2014/10/07 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
解决mysql的int型主键自增问题
2021/07/15 MySQL
python中的getter与setter你了解吗
2022/03/24 Python