对于给定的对象,如果可以通过 for 循环来遍历整个对象。
- 这种遍历我们称为迭代。
- 这类对象我们称为可迭代对象。
可以通过 collections 模块的 Iterable 进行类型判断:
-
Iterable :表示可迭代数据类型。
-
isinstance:是判断指定变量是否为指定的数据类型,返回值为布尔值。
代码如下:
from collections import Iterable
res = isinstance('abc', Iterable)
print(res)
# 返回值 True
res = isinstance([1,23,4], Iterable)
print(res)
# 返回值 True
res = isinstance((1,2,3), Iterable)
print(res)
# 返回值 True
res = isinstance({'a':123, 'b':12}, Iterable)
print(res)
# 返回值 True
res = isinstance(123, Iterable)
print(res)
# 返回值 False
拓展 :对于有序的容器数据类型,可以使用 enumerate 函数可以把一个容器数据变成索引-元素对的形式。这样可以在遍历时同时迭代索引和元素本身,代码如下:
# 遍历列表的索引与元素
val1 = ['a','b','c','d','e']
for index, value in enumerate(val1):
print(index, value)
# 返回值:
"""
0 a
1 b
2 c
3 d
4 e
"""
# 遍历元组的索引与元素
val2 = (1,2,3,4)
for index, value in enumerate(val2):
print(index, value)
# 返回值:
"""
0 1
1 2
2 3
3 4
"""
# 遍历字符串的索引与元素
val3 = 'yui'
for index, value in enumerate(val3):
print(index, value)
# 返回值:
"""
0 y
1 u
2 i
"""
网友评论