国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

python enumerate函數(shù)的使用方法總結(jié)

2020-01-04 16:22:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

python/288955.html">enumerate函數(shù)用于遍歷序列中的元素以及它們的下標(biāo)。

enumerate函數(shù)說(shuō)明:

enumerate()是python的內(nèi)置函數(shù)

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

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

功能:將可循環(huán)序列sequence以start開(kāi)始分別列出序列數(shù)據(jù)和數(shù)據(jù)下標(biāo)

即對(duì)一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串),enumerate會(huì)將該數(shù)據(jù)對(duì)象組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo)。

舉例說(shuō)明:

存在一個(gè)sequence,對(duì)其使用enumerate將會(huì)得到如下結(jié)果:

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

適用版本:

  1. Python2.3+
  2. Python2.x

注意:在python2.6以后新增了start參數(shù)

英文解釋:

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。

代碼實(shí)例:

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

import strings = string.ascii_lowercasee = enumerate(s)print sprint list(e)

輸出為:

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

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

該實(shí)例中,line 是個(gè) string 包含 0 和 1,要把1都找出來(lái):

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'))

如果對(duì)一個(gè)列表,既要遍歷索引又要遍歷元素時(shí),首先可以這樣寫(xiě):

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

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

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

enumerate還可以接收第二個(gè)參數(shù),用于指定索引起始值,如:

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

補(bǔ)充

如果要統(tǒng)計(jì)文件的行數(shù),可以這樣寫(xiě):

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

這種方法簡(jiǎn)單,但是可能比較慢,當(dāng)文件比較大時(shí)甚至不能工作。

可以利用enumerate():

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 紫云| 紫金县| 双鸭山市| 个旧市| 石城县| 横峰县| 泽库县| 二连浩特市| 南靖县| 灯塔市| 湘乡市| 丰宁| 马龙县| 孟连| 景泰县| 温宿县| 蓬溪县| 新化县| 武安市| 德昌县| 尚义县| 保靖县| 平陆县| 罗甸县| 盐源县| 贵德县| 甘谷县| 蒙自县| 巫溪县| 绥宁县| 濮阳县| 成武县| 东丰县| 辽宁省| 富裕县| 江孜县| 双城市| 营口市| 苏尼特右旗| 湘西| 洛扎县|