python - 高级 Python 3 循环迭代列表

标签 python for-loop python-3.x

请注意,这是一个简化的示例是否可以执行类似的操作

l=[[1,2,3],["a","b","c"],["x","y","z"]

然后有一个 for 循环,迭代每个列表中的所有第一个项目,然后是所有第二个项目,然后是所有第三个项目。

最佳答案

您可以使用zip(...)函数。

>>> for elem in zip(*l):
        for a in elem:
            print(a)


1
a
x
2
b
y
3
c
z

另外,您可以使用 zip_longest(...) (izip_longest for Py2x)来处理长度不均匀的列表。

>>> from itertools import zip_longest
>>> l=[[1,2,3],["a","b","c"],["x","y"]]
>>> for elem in zip_longest(*l, fillvalue='Empty'):
        print(elem)


(1, 'a', 'x')
(2, 'b', 'y')
(3, 'c', 'Empty')

关于python - 高级 Python 3 循环迭代列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18087498/

相关文章:

c# - 声明变量时 'for' 循环的范围

c++ - 是否有理由跳过 for 循环的初始化?

Java - for循环中的死代码

python - easy_install-3.2.exe 对比 easy_install.exe?

python - 如何在 Python 中用 * 字符填充整行

python - 如何使用 python 3 下载网站?

python - 在 stackless python 中,通过 channel 发送的数据是不可变的吗?

python - PyGreSQL 为一列选择语句返回意外结果

python-3.x - 如何使用 itertools.zip_longest 获取嵌套列表中的值

c++ - 用概率创建矩阵