欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年11月15日 17:10:39   投稿:zx  
這篇文章主要介紹了python enumerate使用方法總結(jié),enumerate函數(shù)用于遍歷序列中的元素以及它們的下標,有興趣的可以了解一下

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

enumerate函數(shù)說明:

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

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

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

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

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

舉例說明:

存在一個sequence,對其使用enumerate將會得到如下結(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。

代碼實例:

enumerate參數(shù)為可遍歷的變量,如 字符串,列表等; 返回值為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()會更加直接和優(yōu)美:

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

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

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

補充

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

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

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

可以利用enumerate():

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

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

相關(guān)文章

  • Python2實現(xiàn)的LED大數(shù)字顯示效果示例

    Python2實現(xiàn)的LED大數(shù)字顯示效果示例

    這篇文章主要介紹了Python2實現(xiàn)的LED大數(shù)字顯示效果,涉及Python的簡單交互與列表相關(guān)使用技巧,需要的朋友可以參考下
    2017-09-09
  • Python中的Socket 與 ScoketServer 通信及遇到問題解決方法

    Python中的Socket 與 ScoketServer 通信及遇到問題解決方法

    Socket有一個緩沖區(qū),緩沖區(qū)是一個流,先進先出,發(fā)送和取出的可自定義大小的,如果取出的數(shù)據(jù)未取完緩沖區(qū),則可能存在數(shù)據(jù)怠慢。本文通過實例代碼給大家介紹Python中的Socket 與 ScoketServer 通信及遇到問題解決方法 ,需要的朋友參考下吧
    2019-04-04
  • python發(fā)送arp欺騙攻擊代碼分析

    python發(fā)送arp欺騙攻擊代碼分析

    這篇文章主要介紹了python發(fā)送arp欺騙攻擊的方法,大家碰到這樣的事情可以預防一下
    2014-01-01
  • Tensorflow2.1實現(xiàn)Fashion圖像分類示例詳解

    Tensorflow2.1實現(xiàn)Fashion圖像分類示例詳解

    這篇文章主要為大家介紹了Tensorflow2.1實現(xiàn)Fashion圖像分類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Django 中的Timezone 處理操作

    Django 中的Timezone 處理操作

    這篇文章主要介紹了Django 中的Timezone 處理操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 最新評論