【问题标题】:Python iterate over two lists simultaneously [duplicate]Python同时迭代两个列表[重复]
【发布时间】:2014-02-01 14:46:33
【问题描述】:

有没有办法在 python 中同时循环两个或多个列表?

类似

a = [1,2,3]
b = [4,5,6]
for x,y in a,b:
    print x,y

输出

1 4
2 5
3 6

我知道我可以用像这样的元组来做到这一点

l = [(1,4), (2,5), (3,6)]
for x,y in l:
    print x,y

【问题讨论】:

    标签: python list python-2.7 foreach iteration


    【解决方案1】:

    您可以使用zip() function 来配对列表:

    for x, y in zip(a, b):
    

    演示:

    >>> a = [1,2,3]
    >>> b = [4,5,6]
    >>> for x, y in zip(a, b):
    ...     print x, y
    ... 
    1 4
    2 5
    3 6
    

    【讨论】:

    • @ilamengl:如果您要将答案从 Python 2 更改为 Python 3 语法或文档参考,那么也可以针对该问题这样做。由于这个问题被明确标记为python-2.7 标签,因此我正在恢复您的编辑,因为它此处不适用
    • Python 2 支持已经结束,是的,但这并不意味着没有人仍在使用它。阅读答案时务必检查标签,请勿更改标签。
    猜你喜欢
    • 1970-01-01
    • 2016-11-11
    • 2015-01-17
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 2014-02-15
    相关资源
    最近更新 更多