当前位置: 首页 > 面试题库 >

python 3中的yield generator中没有next()函数

周鸿运
2023-03-14
问题内容

在这个问题中,我有一个使用Python生成器的无尽序列。但是相同的代码在Python3中不起作用,因为似乎没有next()功能。该next功能的等效功能是什么?

def updown(n):
    while True:
        for i in range(n):
            yield i
        for i in range(n - 2, 0, -1):
            yield i

uptofive = updown(6)
for i in range(20):
    print(uptofive.next())

问题答案:

在Python 3中,使用next(uptofive)代替uptofive.next()

内置next()函数还可以在Python 2.6或更高版本中使用。



 类似资料:
  • 问题内容: 最近,我开始使用Python3,它缺乏xrange的好处。 简单的例子: 1) Python2: 2) Python3: 结果分别是: 1) 1.53888392448 2) 3.215819835662842 这是为什么?我的意思是,为什么xrange被删除了?这是学习的好工具。对于初学者来说,就像我自己一样,就像我们都处在某个时刻。为什么要删除它?有人可以指出我正确的PEP,我找不

  • Python3 File(文件) 方法 概述 Python 3 中的 File 对象不支持 next() 方法。 Python 3 的内置函数 next() 通过迭代器调用 __next__() 方法返回下一项。 在循环中,next()方法会在每次循环中调用,该方法返回文件的下一行,如果到达结尾(EOF),则触发 StopIteration 语法 next() 方法语法如下: next(iter

  • 本文向大家介绍Python3 中sorted() 函数的用法,包括了Python3 中sorted() 函数的用法的使用技巧和注意事项,需要的朋友参考一下 描述 sorted() 函数对所有可迭代的对象进行排序操作。 语法 sorted(iterable, key=None, reverse=False)  iterable – 可迭代对象。 key – 主要是用来进行比较的元素,只有一个参数,具

  • 我是新手,我写了5行tkinter,但它没有运行给错误 我的代码是 但在5小时前,它运行正常。

  • uniapp中没有btoa函数吗?

  • 问题内容: 我目前工作的一个项目,我需要跟踪的几个系统调用和类似的低层次功能的使用,,。到目前为止,我一直在使用函数插入进行此操作:我编写了一个与要替换的函数同名的包装函数(例如,),并通过设置环境变量将其加载到程序中。我通过加载的指针调用实函数。 不幸的是,我要包装的函数之一由内部使用,因此当我尝试加载符号时程序崩溃。在Linux中不是系统调用,因此我不能简单地使用它来间接调用它。 所以我的问题