当前位置: 首页 > 图灵资讯 > 行业资讯> 详解python中的迭代

详解python中的迭代

发布时间:2025-09-21 14:20:22

如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,我们称之为迭代(Iteration)。

在Python中,通过for进行迭代 ... In完成,C语言、迭代list等多种语言都是通过下标完成的,如Java代码:

for(i=0;i<list.length;i++){
n=list[i];
}

可以看出,Python的for循环比C的for循环更抽象,因为Python的for循环不仅可以用于list或tuple,还可以用于其他可迭代对象。

虽然list的数据类型已经下标,但许多其他数据类型并没有下标。然而,只要它是一个可迭代的对象,无论是否下标,它都可以迭代,例如dict:

>>>d={'a':1,'b':2,'c':3}
>>>forkeyind:
...print(key)
...
a
c
b

由于dict的存储不按list的顺序排列,因此迭代的结果顺序可能会有所不同。

默认情况下,dict迭代key。如果要迭代value,可以使用forr value in d.values(),如果要同时迭代key和value,可以使用forr k, v in d.items()。

因为字符串也是可迭代的对象,所以也可以作用于for循环:

>>>forchin'ABC':
...print(ch)
...
A
B
C

因此,当我们使用for循环时,for循环可以正常运行,只要它作用于可迭代对象,我们不太关心对象是列表还是其他数据类型。

那么,如何判断一个对象是可迭代的对象呢?方法是通过iterable类型来判断collections模块:

>>>fromcollectionsimportIterable
>>>isinstance('abc',Iterable)#str是否可迭代
True
>>>isinstance(1,2,3),Iterable)#list是否可迭代
True
>>>isinstance(123,Iterable)#整数是否可迭代
False

最后一个小问题,如果要像Java一样实现list的下标循环怎么办?Python内置的enumerate函数可以将list变成索引-元素对,使索引和元素本身可以在for循环中同时迭代:

>>>fori,valueinenumerate(['A','B','C']):
...print(i,value)
...
0A
1B
2C

在上述for循环中,同时引用了两个变量,这在Python中很常见,例如以下代码:

                

相关文章

python 成员方法的区别是什么

python 成员方法的区别是什么

2025-09-21
python set是什么类型

python set是什么类型

2025-09-21
php运行python脚本失败怎么解决

php运行python脚本失败怎么解决

2025-09-21
centOS如何升级python

centOS如何升级python

2025-09-21
python中如何使用help()

python中如何使用help()

2025-09-21
python怎么存储数据

python怎么存储数据

2025-09-21