itertools.chain() --在不同的容器中进行迭代

问题:我们需要对许多对象执行相同的操作,但是这些对象包含在不同的容器内,而我们希望可以避免写出嵌套循环,保持代码的可读性

解决方案:使用itertools.chain()可以解决这个问题,它接受一系列可迭代对象作为输入并返回一个迭代器(实际上是在对多个容器进行迭代)
import itertools
a = [1, 2, 3, 4]
b = ['x', 'y', 'z']
for x in itertools.chain(a, b):
    print(x)
    
1
2
3
4
x
y
z
总结:

1、itertools.chain()可接受一个或多个可迭代对象作为参数,然后会创建一个迭代器,该迭代器可连续访问并返回提供的每个可迭代对象中的元素;
2、如果输入的序列很大,在内存使用上chain()就会高效很多,而且当可迭代对象之间不是同一种类型时也可以轻松适用。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • PYTHON-进阶-ITERTOOLS模块小结转自wklken:http://wklken.me/posts/20...
    C_Y_阅读 4,719评论 0 2
  • 本文翻译自Functional Programming Howto 本文将介绍Python中函数式编程的特性。在对...
    大蟒传奇阅读 7,514评论 4 14
  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 9,176评论 0 14
  • 薛霏
    小路子要发愤图强啦阅读 1,153评论 0 0
  • 前几天带着小家伙回到娘家准备过年…晚上爸爸偷偷问小家伙,你几个人吃饭呀…三个!除了你和妈妈还有谁?爸爸!我终...
    草芦飘逸仙子阅读 1,351评论 2 1

友情链接更多精彩内容