迭代对象及enumerate枚举对象的用法

迭代对象

对于给定的列表或者元组,如果可以通过for循环进行遍历,那么这种遍历我们称之为迭代(iteration)

在python种,迭代是通过for ······ in结构完成的,python迭代的对象是一切可以迭代的对象,不限于列表、元组,字符串等同样可以迭代(字典和集合是无序的,但是同样可以进行迭代,只是可能每次迭代的结果不同而已,在默认的情况下,对字典的迭代是对字典中的key进行迭代,如果同时对字典种的key和value进行迭代,可以使用for k,v in d.items()进行迭代,d.items表示返回字典种的键值对信息,d.keys获取键,d.values获取值的信息)。

mydict = {'A':1,'B':2,'C':5}
print(mydict.keys())
print(mydict.values())
print(mydict.items())

for k in mydict.keys():
    print(k)

for v in mydict.values():
    print(v)

for k,v in mydict.items():
    print(k,v)

B
A
C
2
1
5
B 2
A 1
C 5

python中的迭代只需要判断对象是否是可迭代对象即可,无需知道该对象是字典还是列表等,判断一个对象是否是可迭代对象我们可以通过collections中的Iterablele类型判断:

from collections import Iterable
print(isinstance('abc',Iterable))
print(isinstance(123,Iterable))


True
False

enumerate函数的用法,枚举对象

另外python内置函数enumerate(枚举对象),,enumerate是将可遍历的数据结构组为一个索引序列,同时列出数据和数据下表:

mydict = {'A':1,'B':2,'C':5}
for i in enumerate(mydict.keys()):
    print(i)

(0, 'B')
(1, 'A')
(2, 'C')

可以看出enumerate有两个值,一个是数据的下标,一个是数据的本身,同时也可以使用两个参数的循环对该数据进行访问:

for i,values in enumerate(mydict.keys()):
    print(i,values)
    
0 A
1 B
2 C

参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017316949097888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python枚举函数enumerate()是一个内置函数,它将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,并同时列出数据和数据下标,通常用在for循环。该函数返回一个enumerate对象,是一个可迭代对象,通过遍历可以获取具体的元素值。它的语法为:enumerate(iterable, start),其iterable是可遍历的对象,start是索引的起始值,默认为0。使用enumerate函数可以在for循环同时获取索引和值。 这个函数在字典上也可以使用,表示枚举或列举的意思,用于获取字典的键和值。对于一个可迭代对象,可以使用enumerate函数将其组合为一个索引序列,从而在for循环获得计数的效果。 一个例子是可以利用enumerate()函数和for循环来遍历文件的每一行,并同时获得行号和行内容。例如,可以使用以下代码来读取一个文件,并在遍历每一行的同时记录行号: count = 0 for index, line in enumerate(open(filepath,'r')): count += 1 这样就可以在count变量获得文件的行数,index变量获得行号,line变量获得每一行的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python 使用enumerate()函数详解](https://blog.csdn.net/jh035/article/details/128077895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python enumerate用法总结](https://blog.csdn.net/churximi/article/details/51648388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值