• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python for循环赋值问题

    背景

    写代码的时候,你会发现你的代码越写越多。

    然而,功能需要也越来越多,然后你的冗余代码就多得不能再多了~~~怎么办,我太难了。

    那就寻求一些高级写法,一般的高级写法都是尽可能地短。

    另外,把重复的代码抽取出来,封装成函数,每次使用直接调函数即可。

    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循环里面作判断的话,那就选第一种写法了。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • for循环在Python中的工作原理详细
    • python入门for循环嵌套理解学习
    • Python for 循环语句的使用
    • python for循环内输出和外输出方式
    • Python 如何用一行代码实现for循环初始化数组
    • Python中的for循环详情
    上一篇:python批量创建变量并赋值操作
    下一篇:如何使用PyCharm及常用配置详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python for循环赋值问题 python,for,循环,赋值,问题,