如何寫出優雅的Python

來源:互聯網
上載者:User

標籤:

Looping over a range of numbers

Bad:

for i in [0,1,2,3,4,5]:    print i**2

Good:

for i in range(6):    print i**2

 

Looping over a collection:

Bad:

colors = [ ‘red‘,‘green‘,‘blue‘,‘yellow‘]for i in range(len(colors)):    print colors[i]

Good:

for i in colors:    print colors[i]

Looping backwards

Bad:

colors = [‘red‘,‘green‘,‘blue‘,‘yellow‘]for i in range(len(colors)-1,-1,-1):    print colors(i)

Good:

colors = [‘red‘,‘green‘,‘blue‘,‘yellow‘]for color in reversed(colors):    print color

Looping over a collection and indicies

Bad:

colors = [‘red‘,‘green‘,‘blue‘,‘yellow‘]for i in range(len(colors)):    print i, ‘-->‘, colors[i]

 Good:

colors = [‘red‘,‘green‘,‘blue‘,‘yellow‘]for i,color in enmerate(colors):    print i, ‘-->‘, colors[i]

 

Looping over two collections

Bad:

names = [‘raymond‘,‘rachel‘,‘mattew‘]colors = [‘red‘,‘green‘,‘blue‘,‘yellow‘]n = min(len(names),len(colors))for i in range(n):    print names[i],‘-->‘,colors[i]

Good:

names = [‘raymond‘,‘rachel‘,‘mattew‘]colors = [‘red‘,‘green‘,‘blue‘,‘yellow‘]for name,color in zip(names,colors):    print name,‘-->‘,color

Even beeter.(izip 依次處理,zip是全部讀入後處理,如果在中間中斷的話,izip不需要讀入所有內容)

from itertools import izipnames = [‘raymond‘,‘rachel‘,‘mattew‘]colors = [‘red‘,‘green‘,‘blue‘,‘yellow‘]for name,color in izip(names,colors):    print name,‘-->‘,color

 

如何寫出優雅的Python

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.