美文网首页
迭代理解

迭代理解

作者: 北游_ | 来源:发表于2018-06-14 14:22 被阅读9次

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

    相关文章

      网友评论

          本文标题:迭代理解

          本文链接:https://www.haomeiwen.com/subject/zulyeftx.html