python for循環(huán)賦值問(wèn)題
背景
寫(xiě)代碼的時(shí)候,你會(huì)發(fā)現(xiàn)你的代碼越寫(xiě)越多。
然而,功能需要也越來(lái)越多,然后你的冗余代碼就多得不能再多了~~~怎么辦,我太難了。
那就尋求一些高級(jí)寫(xiě)法,一般的高級(jí)寫(xiě)法都是盡可能地短。
另外,把重復(fù)的代碼抽取出來(lái),封裝成函數(shù),每次使用直接調(diào)函數(shù)即可。
For循環(huán)賦值
前提條件:我創(chuàng)建了一個(gè)road類(lèi),這個(gè)類(lèi)里面有這些屬性。我先初始化給road賦值,然后再把這些對(duì)象放到roadObjList集合里面。
目標(biāo):從roadObjList集合里面取出每個(gè)road對(duì)象的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
寫(xiě)法一:
objList = []
for r in roadObjList:
objList.append(r.objectid)
寫(xiě)法二:
objList = [r.objectid for r in roadObjList]
我補(bǔ)充幾句
關(guān)于for循環(huán)遍歷的寫(xiě)法,還有好幾種,雖然寫(xiě)法很low,但是效果都是差不多的。
寫(xiě)法一:
for i,ele in enumerate(roadPointObjList):
print(i)
print(ele)
寫(xiě)法二:
for i in range(0, len(roadPointObjList)):
print(i)
print(roadPointObjList[i])
總結(jié)
我覺(jué)得兩種寫(xiě)法其實(shí)都是一樣的,時(shí)間復(fù)雜度都是O(n),畢竟都要遍歷for循環(huán)。
只是第二種寫(xiě)法一步到位,當(dāng)然如果要在for循環(huán)里面作判斷的話,那就選第一種寫(xiě)法了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python3實(shí)現(xiàn)名片管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)名片管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
將數(shù)據(jù)集制作成VOC數(shù)據(jù)集格式的實(shí)例
今天小編就為大家分享一篇將數(shù)據(jù)集制作成VOC數(shù)據(jù)集格式的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
詳解如何修改jupyter notebook的默認(rèn)目錄和默認(rèn)瀏覽器
這篇文章主要介紹了詳解如何修改jupyter notebook的默認(rèn)目錄和默認(rèn)瀏覽器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
利用python解決mysql視圖導(dǎo)入導(dǎo)出依賴(lài)的問(wèn)題
這篇文章主要給大家介紹了關(guān)于利用python解決mysql視圖導(dǎo)入導(dǎo)出依賴(lài)的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
python實(shí)現(xiàn)類(lèi)似ftp傳輸文件的網(wǎng)絡(luò)程序示例
這篇文章主要介紹了python實(shí)現(xiàn)類(lèi)似ftp傳輸文件的網(wǎng)絡(luò)程序示例,需要的朋友可以參考下2014-04-04

