迭代理解

2018-06-14  本文已影响9人  北游_

对于给定的对象,如果可以通过 for 循环来遍历整个对象。

可以通过 collections 模块的 Iterable 进行类型判断:

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
""" 

上一篇 下一篇

猜你喜欢

热点阅读