迭代理解

对于给定的对象,如果可以通过 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
""" 

你可能感兴趣的:(迭代理解)