2016 - 2024

感恩一路有你

python中迭代器的基本方法 python返回迭代器和返回列表有什么区别?

浏览量:1134 时间:2021-03-14 11:35:15 作者:admin

python返回迭代器和返回列表有什么区别?

在Python中,生成器可以做迭代器所能做的一切,因为它们是由iter()和next()方法自动创建的,所以生成器特别简洁,而且生成器也很高效,使用生成器表达式而不是列表解析,同时节省内存。除了创建和维护自动生成程序状态外,当生成器结束时,它还会自动运行出stoperror异常。

列表、元组、字典和字符串都是迭代对象。

数字和布尔值不是迭代的。

让我们来谈谈这两者之间的具体区别:

迭代器对象需要支持迭代器协议的对象。在Python中,为了支持迭代器协议,需要实现objectiter和next()方法。其中,iter()方法返回迭代器对象本身;next()方法返回容器的下一个元素,在末尾抛出stopiteration异常。

这里有一个简单的迭代器列表:

在阅读了上面的代码之后,我想很多人都想知道一个列表怎么会有迭代器。由于访谈问题的空间有限,如果您想知道一个可迭代对象如何获得迭代器?

Generator是一个函数,它为实现迭代器协议提供了方便的方法。生成器和普通函数的区别在于,它包含一个yield表达式,不需要定义iter()和next()。

生成器是一种惰性序列。如果我们需要创建一个0-1000000000的序列,那么创建这么大的序列将占用更多的内存。发电机就是为了解决这个问题。

让我们举一个简单的例子来说明生成器的用法:

如果您有不同的意见,您可以指出并添加到我这里。欢迎留言。

python中迭代器的基本方法 c++函数的声明与定义 模板参数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。