网络编程
位置:首页>> 网络编程>> Python编程>> python for循环赋值问题

python for循环赋值问题

作者:喜欢吃布丁但是没有钱  发布时间:2023-01-26 05:56:32 

标签: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])

来源:https://blog.csdn.net/Feng512275/article/details/99287816

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com