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

Python成语来链接(平化)有限可迭代对象的无限可迭代对象?

薛滨海
2023-03-14
问题内容

假设我们有一个迭代器(一个无限的迭代器)返回列表(或有限迭代器),例如一个由

infinite = itertools.cycle([[1,2,3]])

获得一个迭代器(显然是无限的)是一个好的Python习惯用法,该迭代器将从第一个迭代器返回每个元素,然后从第二个迭代器返回每个元素,依此类推。在上面的示例中它将返回1,2,3,1,2,3,...。迭代器是无限的,因此itertools.chain(*infinite)将无法使用。

有关

  • 在python中展平浅表

问题答案:

从Python
2.6开始,您可以使用itertools.chain.from_iterable

itertools.chain.from_iterable(iterables)

您也可以使用嵌套的生成器理解来做到这一点:

def flatten(iterables):
    return (elem for iterable in iterables for elem in iterable)


 类似资料:
  • 问题内容: 我正在尝试迭代由numpy.linspace生成的值的数组: 这段代码在我的办公室计算机上工作正常,但是今天早上我坐下来在另一台机器上在家工作,出现了此错误: 只是一个浮点数数组,脚本在打印内容时没有问题-只是显然对它们进行了迭代。关于导致它损坏的原因的任何建议以及可能的解决方法? 问题答案: 给您一维NumPy数组。例如: 因此: 无法工作。您将需要某种二维数组,在第二维中具有两个元

  • 问题内容: 我正在尝试运行一个for循环。这是我遇到问题的代码部分: 因此,我的目的是遍历aldurstengd_ororka,对于字典中的每个“年龄”元组,我为元组中的每个“项目”运行另一个for循环。我得到的错误是 TypeError:“ int”对象不可迭代 问题答案: 如果是字典,则此表达式: 是一个错误。也许您的意思是: 编辑:您看到的错误是非常有趣的,我确实使用此代码段重现了它: 代码

  • 可迭代(Iterable) 对象是数组的泛化。这个概念是说任何对象都可以被定制为可在 for..of 循环中使用的对象。 数组是可迭代的。但不仅仅是数组。很多其他内建对象也都是可迭代的。例如字符串也是可迭代的。 如果从技术上讲,对象不是数组,而是表示某物的集合(列表,集合),for..of 是一个能够遍历它的很好的语法,因此,让我们来看看如何使其发挥作用。 Symbol.iterator 通过自己

  • 本文向大家介绍python生成器,可迭代对象,迭代器区别和联系,包括了python生成器,可迭代对象,迭代器区别和联系的使用技巧和注意事项,需要的朋友参考一下 生成器,可迭代对象,迭代器之间究竟是什么关系? 用一幅图来概括: 1.生成器 定义生成器 方式一: 方式二: 定义成功后,我们可以利用next()访问生成器下一个元素 但一般用for循环遍历 2.迭代器 任何实现了__iter__和__ne

  • 本文向大家介绍Python可迭代对象操作示例,包括了Python可迭代对象操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python可迭代对象。分享给大家供大家参考,具体如下: 1、列表生成式 输出: <class 'generator'> <generator object <genexpr> at 0x0000024E6AC08F10> 0 输出: [0, 1, 2, 3,

  • 本文向大家介绍详解Python中的内建函数,可迭代对象,迭代器,包括了详解Python中的内建函数,可迭代对象,迭代器的使用技巧和注意事项,需要的朋友参考一下 Python中的内建函数和可迭代对象,迭代器 求值标识 id() #标识id 返回对象的唯一标识,CPython返回内存地址 hash() #哈希, 返回对象的哈希值 len(s) -->返回一个集合类型的元素个数 range(start,