python enumrate使用

來源:互聯網
上載者:User

標籤:nes   其他   orm   pos   方法   ibm   readlines   用法   引號   

新接觸了一個函數 enumrate ,很多情況下我們想獲得可迭代的容器(例如dict、list、tuple等)元素的時候,想同時獲得一個序號用以他用。

代碼常常寫成這個樣子

list_a = ["apple", "dell", "hp", "ibm"]for idx in range(len(list_a)):    print("idx={0}, content={1}".format(idx, list_a[idx]))

如果是dict,那麼會寫成這樣子

dict_a={"a":"apple","b":"banana","o":"orange"}idx = 0for it in dict_a:    idx = idx + 1    print("key[{0}]={1},idx={2}".format(it, dict_a[it], idx))

但功能有了,美觀較差

這時候enumrate就該出場了。enumrate函數可以同時返回元素和索引號。上面兩個例子,可以寫成這個樣子

list_a = ["apple", "dell", "hp", "ibm"]for idx,val in enumerate(list_a):    print("idx={0}, content={1}".format(idx, val))

而輸出為

idx=0, content=apple
idx=1, content=dell
idx=2, content=hp
idx=3, content=ibm

而dict可以寫成這樣子

for idx,key in enumerate(dict_a):    print("key[{0}]={1},idx={2}".format(key,dict_a[key],idx))

輸出為

key[b]=banana,idx=0
key[o]=orange,idx=1
key[a]=apple,idx=2

 

另外學習到其他博主的用法

如果要統計檔案的行數,可以這樣寫:

count = len(open(filepath, ‘r‘).readlines())

這種方法簡單,但是可能比較慢,當檔案比較大時甚至不能工作。

可以利用enumerate():

count = 0for index, line in enumerate(open(filepath,‘r‘)):     count += 1

  

 

python enumrate使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.