迭代器

有一个偶数项的列表 a = ["foo", 2, "bar", 4, "far", 6],希望对每两个相邻的两个元素打包,是为一组, 使得结果如下是这样的 [("foo", 2), ("bar", 4), ("far", 6)]。如果是要打包是每三个一组呢?


有很多方法可以解决,下面使用迭代器进行处理,大概代码如下:

a = ["foo", 2, "bar", 4, "far", 6]

group_adjacent = lambda x, k: zip(*([iter(x)] * k))

In [1]: a = ["foo", 2, "bar", 4, "far", 6]

In [2]: group_adjacent = lambda x, k: zip(*([iter(x)] * k))

In [3]: group_adjacent(a, 2)

Out[3]: [('foo', 2), ('bar', 4), ('far', 6)]

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

相关阅读更多精彩内容

  • 住的这个小区也建好几年了,怎么周围一直在装修,钻啊钻啊。于是开大音乐,挡住钻的声音,周期性重复的声音实在是乱人心绪...
    KevinCool阅读 4,235评论 1 1
  • 因为Python,我见识了优雅。优雅不经在于自己使用,还在于如何设计API给别人使用。 设计 api 的时候,可以...
    人世间阅读 23,846评论 0 18
  • 一、可迭代对象和迭代器 1.迭代的概念 上一次输出的结果为下一次输入的初始值,重复的过程称为迭代,每次重复即一次迭...
    chen_000阅读 2,649评论 0 1
  • 对于list、string、tuple、dict等这些容器对象,使用for循环遍历是很方便的。在后台for语句对容...
    菜鸟辣妈阅读 7,015评论 0 1
  • 通常,我们最容易原谅的人,是自己!没有兑现承诺,需要找借口;没有遵守规章制度,需要找借口;没有保质保量完成工作,需...
    石溪隐者阅读 3,798评论 0 0

友情链接更多精彩内容