网络编程
位置:首页>> 网络编程>> Python编程>> Python 可迭代对象 iterable的具体使用

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

作者:小菠萝测试笔记  发布时间:2021-08-28 08:24:32 

标签:Python,可迭代对象,iterable
目录
  • 前置知识

  • 可迭代对象

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

  • enumerate 函数

    • 多嵌套列表

      • 总结

        前置知识

        如果给定一个 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 这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是只要是可迭代对象,无论有无下标,都可以迭代


        dicts = {
           "a": 1,
           "b": 2
        }
        for i in dicts:
           print(i)

        # 输出结果
        a
        b

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


        from collections import Iterable

        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 循环

        来源:https://www.cnblogs.com/poloyy/p/14658433.html

        0
        投稿

        猜你喜欢

        手机版 网络编程 asp之家 www.aspxhome.com