zoukankan      html  css  js  c++  java
  • python 不同集合上元素的迭代 chain()

    itertools.chain()可以接受一个可迭代对象列表作为输入,并返回一个迭代器,有效的屏蔽掉在多个容器中迭代细节

    >>> from itertools import chain
    >>> a = [1, 2, 3, 4]
    >>> b = ['x', 'y', 'z']
    >>> for x in chain(a, b):
    ... print(x)
    ...
    1
    2
    3
    4
    x
    y
    z >>>

     itertools.chain()接受一个或多个可迭代对象作为输入参数。然后创建一个迭代器,依次连续的返回每个可迭代对象的元素。这种方式要比先将序列合并再迭代要高效的多

    # Inefficent
    for x in a + b:
    ...
    # Better
    for x in chain(a, b):
    ...
    

     第一种方案中, a + b 操作会创建一个全新的序列并要求a 和b 的类型一致。chian() 不会有这一步,所以如果输入序列非常大的时候会很省内存。并且当可迭代对象类型不一样的时候chain() 同样可以很好的工作。

  • 相关阅读:
    2019春总结作业
    第十二周作业及总结
    第十一周作业及总结
    第十周编程及总结
    第九周作业及总结
    第八周作业及总结
    第五周作业及总结
    第四周Java作业及总结
    第三周总结
    第二周总结
  • 原文地址:https://www.cnblogs.com/baxianhua/p/10082805.html
Copyright © 2011-2022 走看看