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实现抓取网页生成Excel文件的方法示例
Aug 05 Python
python3设计模式之简单工厂模式
Oct 17 Python
Python机器学习之K-Means聚类实现详解
Feb 22 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
详解PyCharm安装MicroPython插件的教程
Jun 24 Python
Python 画出来六维图
Jul 26 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
python实现名片管理器的示例代码
Dec 17 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
如何在Windows中安装多个python解释器
Jun 16 Python
python 多进程和协程配合使用写入数据
Oct 30 Python
Python-OpenCV教程之图像的位运算详解
Jun 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类Class的概念
2012/06/14 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
php事件驱动化设计详解
2016/11/10 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
js实现小时钟效果
2020/03/25 Javascript
python局域网ip扫描示例分享
2014/04/03 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
python开发一款翻译工具
2020/10/10 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
酒店门卫岗位职责
2013/12/29 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
食品安全承诺书
2014/05/22 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
公司人事任命通知
2015/04/20 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技