python 詳解enumerate函式用法

2021-08-15 00:12:27 字數 1925 閱讀 6839

1、內建函式enumerate(iterable[, start])的官方說明:

class enumerate(object)

| enumerate(iterable[, start]) -> iterator for index, value of iterable

| | return an enumerate object. iterable must be another object that supports

| iteration. the enumerate object yields pairs containing a count (from

| start, which defaults to zero) and a value yielded by the iterable argument.

| enumerate is useful for obtaining an indexed list:

| (0, seq[0]), (1, seq[1]), (2, seq[2]), ...

| | methods defined here:

| | __getattribute__(self, name, /)

| return getattr(self, name).

| | __iter__(self, /)

| implement iter(self).

| | __new__(*args, **kwargs) from builtins.type

| create and return a new object. see help(type) for accurate signature.

| | __next__(self, /)

| implement next(self).

| | __reduce__(...)

| return state information for pickling.

2、例項詳解

對於乙個seq可迭代物件進行enumerate操作,enumerate(seq)得到:

input:enumerate(seq)

output:(0, seq[0]), (1, seq[1]), (2, seq[2])

對列表 seqs = [1,2,3,4,7,8,9] 進行列舉,既要得到遍歷索引又要遍歷元素時:

in [2]: seqs = [1,2,3,4,7,8,9]

in [3]: enumerate(seqs)

out[3]: 0x1ba9c822b88>

in [4]: list(enumerate(seqs))

out[4]: [(0, 1), (1, 2), (2, 3), (3, 4), (4, 7), (5, 8), (6, 9)]

如果指定起始的index值為1:

in

[5]: list(enumerate(seqs,1))

out[5]: [(1, 1), (2, 2), (3, 3), (4, 4), (5, 7), (6, 8), (7, 9)]

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

count = len(open(filepath, 'r').readlines())
這種方法簡單,但是可能比較慢,當檔案比較大時甚至不能工作;可以利用enumerate():

count = 0

for index, line

in enumerate(open(filepath,'r')):

count += 1

python序列詳解 python序列詳解

什麼是序列 序列指的是一塊可存放多個值的連續記憶體空間,這些值按一定順序排列,可以通過下標或者索引訪問它們。python中三種基本的序列型別 字串列表 列表由一系列按特定順序排列的元素組成。是python最常見的資料結構,用來表示列表 例如 arr 1,2,3,4,5 元組python 的元組與列表...

詳解 python 詳解python中 的用法

python中 的用法 是乙個裝飾器,針對函式,起呼叫傳參的作用。有修飾和被修飾的區別,function作為乙個裝飾器,用來修飾緊跟著的函式 可以是另乙個裝飾器,也可以是函式定義 結果1it s funa分析1 funa 修飾函式定義def func 將func 賦值給funa 的形參。執行的時候由...

Python程序詳解

下面對python程序進行深入而仔細的學習,首先先讓大家了解下什麼是python程序,以及在對python程序進行處理時注意的相關問題,接下來,就由我給大家進行介紹學習,僅供大家學習。不過,雖然程序可在單獨的記憶體空間中執行,但除非這些python程序在單獨的處理器上執行,否則,實際並不是 同時 執...