[转载] Python中的enumerate函数介绍

参考链接: Python中的enumerate

enumerate英文翻译为枚举的意思。 可以将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。 

 语法 

>>> help(enumerate)

Help on class enumerate in module __builtin__:

 

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]), ... 

 参数 

sequence       # 一个序列、迭代器或其他支持迭代对象。start                # 下标起始位置、默认为0

 返回值 

返回枚举类型 

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']

>>> list(enumerate(seasons))                # 默认start为0          

[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

>>> list(enumerate(seasons, start=1))       # start为1

[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

>>> s = "ABCD"

>>> list(enumerate(s))                      # 字符串类型

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

>>> l = ["A", "B", "C", "D"]

>>> list(enumerate(l))                      # 列表类型

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

>>> t = ("A", "B", "C", "D")              

>>> list(enumerate(t))                      # 元祖类型                

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

>>> d = {"A": 1, "B": 2}

>>> list(enumerate(d))                      # 字典类型,枚举其key

[(0, 'A'), (1, 'B')]

>>> 

 通过for循环遍历示例 

>>> # 通过元素来遍历

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']

>>> count = 0

>>> for season in seasons:

...     print count,"=>", season

...     count += 1

...

0 => Spring

1 => Summer

2 => Fall

3 => Winter

>>> # 通过索引来遍历

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']

>>> for i in range(len(seasons)):

...     print i, "=>", seasons[i]

...

0 => Spring

1 => Summer

2 => Fall

3 => Winter

>>> 

 通过enumerate来遍历示例 

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']

>>> for (index, season) in enumerate(seasons):

...     print index,"=>",season

...

0 => Spring

1 => Summer

2 => Fall

3 => Winter

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']

>>> for (index, season) in enumerate(seasons, start=1):

...     print index,"=>",season

...

1 => Spring

2 => Summer

3 => Fall

4 => Winter

>>> 

 其它示例:统计文本的行数 

通常的做法 

>>> count = len(open(r"D:\\1.txt").readlines())

>>> count

 使用enumerate 

>>> for index,line in enumerate(open(r"D:\\1.txt"), start=1):

...     pass

...

>>> index

7

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值