python for循環(huán)賦值問題
背景
寫代碼的時(shí)候,你會(huì)發(fā)現(xiàn)你的代碼越寫越多。
然而,功能需要也越來越多,然后你的冗余代碼就多得不能再多了~~~怎么辦,我太難了。
那就尋求一些高級(jí)寫法,一般的高級(jí)寫法都是盡可能地短。
另外,把重復(fù)的代碼抽取出來,封裝成函數(shù),每次使用直接調(diào)函數(shù)即可。
For循環(huán)賦值
前提條件:我創(chuàng)建了一個(gè)road類,這個(gè)類里面有這些屬性。我先初始化給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
寫法一:
objList = [] for r in roadObjList: objList.append(r.objectid)
寫法二:
objList = [r.objectid for r in roadObjList]
我補(bǔ)充幾句
關(guān)于for循環(huán)遍歷的寫法,還有好幾種,雖然寫法很low,但是效果都是差不多的。
寫法一:
for i,ele in enumerate(roadPointObjList): print(i) print(ele)
寫法二:
for i in range(0, len(roadPointObjList)): print(i) print(roadPointObjList[i])
總結(jié)
我覺得兩種寫法其實(shí)都是一樣的,時(shí)間復(fù)雜度都是O(n),畢竟都要遍歷for循環(huán)。
只是第二種寫法一步到位,當(dāng)然如果要在for循環(huán)里面作判斷的話,那就選第一種寫法了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python3+Appium實(shí)現(xiàn)多臺(tái)移動(dòng)設(shè)備操作的方法
這篇文章主要介紹了Python3+Appium實(shí)現(xiàn)多臺(tái)移動(dòng)設(shè)備操作的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python使用中文正則表達(dá)式匹配指定中文字符串的方法示例
這篇文章主要介紹了Python使用中文正則表達(dá)式匹配指定中文字符串的方法,結(jié)合實(shí)例形式分析了Python正則匹配及字符編碼相關(guān)操作技巧,需要的朋友可以參考下2017-01-01TensorFlow人工智能學(xué)習(xí)創(chuàng)建數(shù)據(jù)實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)創(chuàng)建數(shù)據(jù)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11使用pyshp包進(jìn)行shapefile文件修改的例子
今天小編就為大家分享一篇使用pyshp包進(jìn)行shapefile文件修改的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python實(shí)現(xiàn)計(jì)算字符串中出現(xiàn)次數(shù)最多的字符示例
這篇文章主要介紹了Python實(shí)現(xiàn)計(jì)算字符串中出現(xiàn)次數(shù)最多的字符,涉及Python針對(duì)字符串的遍歷、統(tǒng)計(jì)等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01