日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python enumerate函數的使用方法總結

系統 1932 0

enumerate函數用于遍歷序列中的元素以及它們的下標。

enumerate函數說明:

enumerate()是python的內置函數

enumerate在字典上是枚舉、列舉的意思

函數原型:enumerate(sequence, [start=0])

功能:將可循環序列sequence以start開始分別列出序列數據和數據下標

即對一個可遍歷的數據對象(如列表、元組或字符串),enumerate會將該數據對象組合為一個索引序列,同時列出數據和數據下標。

舉例說明:

存在一個sequence,對其使用enumerate將會得到如下結果:

            
start    sequence[0]
start+1  sequence[1]
start+2  sequence[2]......
          

適用版本:

  1. Python2.3+
  2. Python2.x

注意:在python2.6以后新增了start參數

英文解釋:

Return an enumerate object. sequence must be a sequence, an iterator, or some other object which supports iteration. The next() method of the iterator returned by enumerate() returns a tuple containing a count (from start which defaults to 0) and the values obtained from iterating over sequence。

代碼實例:

enumerate參數為可遍歷的變量,如 字符串,列表等; 返回值為enumerate類。

            
import string
s = string.ascii_lowercase
e = enumerate(s)
print s
print list(e)
          

輸出為:

            
abcdefghij
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j')]
          

在同時需要index和value值的時候可以使用 enumerate。

該實例中,line 是個 string 包含 0 和 1,要把1都找出來:

            
def xread_line(line):
 return((idx,int(val)) for idx, val in enumerate(line) if val != '0')
 
print read_line('0001110101')
print list(xread_line('0001110101'))
          

如果對一個列表,既要遍歷索引又要遍歷元素時,首先可以這樣寫:

            
list1 = ["這", "是", "一個", "測試"]
for i in range (len(list1)):
  print i ,list1[i]
          

上述方法有些累贅,利用enumerate()會更加直接和優美:

            
list1 = ["這", "是", "一個", "測試"]
for index, item in enumerate(list1):
  print index, item
>>>
0 這
1 是
2 一個
3 測試
          

enumerate還可以接收第二個參數,用于指定索引起始值,如:

            
list1 = ["這", "是", "一個", "測試"]
for index, item in enumerate(list1, 1):
  print index, item
>>>
1 這
2 是
3 一個
4 測試
          

補充

如果要統計文件的行數,可以這樣寫:

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

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

可以利用enumerate():

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 嘉义县| 通州区| 镇沅| 南靖县| 宣汉县| 讷河市| 苏尼特右旗| 固始县| 靖江市| 桃园县| 石阡县| 利津县| 克什克腾旗| 祁连县| 哈尔滨市| 江山市| 巧家县| 常熟市| 长泰县| 克东县| 丽水市| 甘南县| 通辽市| 建湖县| 北海市| 庄浪县| 芷江| 平和县| 河北区| 锦州市| 昌都县| 大渡口区| 三穗县| 新密市| 临猗县| 扶风县| 尉氏县| 永胜县| 新营市| 任丘市| 昭觉县|