首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python的for循环中迭代多个元素

如何在python的for循环中迭代多个元素
EN

Stack Overflow用户
提问于 2013-01-14 08:04:53
回答 1查看 1.1K关注 0票数 1

可能重复: How do you split a list into evenly sized chunks in Python?

这个想法很简单,我想做这样的事情:

代码语言:javascript
复制
for elem1, elem2, elem3 in list:
    <some code>

要使这个工作正常,我们需要这个列表是一个包含3次迭代的列表,如下所示:

代码语言:javascript
复制
list = [[1, 2, 3], [4, 5, 6]]

但是,如果这个列表只是一个常规列表,我能做些什么呢?

代码语言:javascript
复制
list = [1, 2, 3, 4, 5, 6]

是否有任何快速和简单的方法将这个常规列表转换为3-迭代列表,这样循环才能工作?或者n-迭代,我在这里用3作为例子。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-01-14 08:06:26

使用迭代工具中的grouper配方:

代码语言:javascript
复制
def grouper(n, iterable, fillvalue=None):
    "Collect data into fixed-length chunks or blocks"
    # grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx
    args = [iter(iterable)] * n
    return izip_longest(fillvalue=fillvalue, *args)

就像:

代码语言:javascript
复制
for a, b, c in grouper(3, some_list):
    pass # whatever
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14314985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档