开发者

Python 可迭代对象 iterable的具体使用

目录
  • 前置知识

  • 可迭代对象

    • 如何判断一个对象是否是可迭代对象?

  • enumhttp://www.cppcns.comerate 函数

    • 多嵌套列表

      • 总结

        前置知识

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

        在 python 中,迭代是通过 for ... in 来完成的

        lists = [1, 2, 3, 4, 5]
        for i in lists:
            print(i)

        可迭代对象

        for 循环不仅可以用在 list 或 tuple 上,还可以用在其他可迭代对象上

        list 这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但http://www.cppcns.com是只要是可迭代对象,无论有无下标,都可以迭代

        dicts = {
            "a": 1,
            "b": 2
        }
        for i in dicts:
            print(i)
        
        # 输出结果
        a
        b
        
        

        如何判断一个对象是否是可迭代对象?

        from collections import Iterablewww.cppcns.com
        
        lists = [1,编程客栈 2, 3, 4, 5]
        
        dicts = {
            "a": 1,
            "b": 2
        }
        
        print(isinstance(lists, Iterable))
        print(isinstance(dicts, Iterable))
        print(isinstance({"test"}, Iterable))
        print(isinstance(1234, Iterable))
        
        # 输出结果
        True
        True
        True
        False

        enumerate 函数

        循环列表的话,默认是只返回元素值,如果想同时拿到元素值和对应的下标值呢?

        enumerate 函数可以把 list 变成一个 索引-元素对的迭代对象,然后循环遍历这个对象即可

        lists = [1, 2, 3, 4, 5]
        
        # 看看是不是迭代对象
        print(isinstance(enumerate(lists), Iterable))
        
        # 循环
        for ind, val in enumerate(lists):
            print(ind, val)
        
        # 输出结果
        True
        0 1
        1 2
        2 3
        3 4
        4 5

        多嵌套列表

        for x, y in [(1, 1), (2, 4), (3, 9)]:
            print(x, y)
        
        # 输出结果
        1 1
        2 4
        3 9
        
        

        总结

        任何可迭代对象都可以作用于 for 循环,包括我们自定义的数据类型,只要符合迭代条件,就可以使用 for 循环

        到此这篇关于Python 可迭代对象 iterable的具体使用的文章就介绍到这了,更多相关Pyt编程客栈hon 可迭代对象 iterable内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

        0

        上一篇:

        下一篇:

        精彩评论

        暂无评论...
        验证码 换一张
        取 消

        最新开发

        开发排行榜