在 Python3 中交错多个可变长度列表

商品

这个答案https://stackoverflow.com/a/7947190/5517459给出:

>>> l1=[1,2,3]
>>> l2=[10,20,30]
>>> l3=[101,102,103,104]
>>> [y for x in map(None,l1,l2,l3) for y in x if y is not None]
[1, 10, 101, 2, 20, 102, 3, 30, 103, 104]

这个片段完全符合我的项目要求,但它在 python3 中不起作用。

我已经使用以下方法解决了错误:

func = lambda *x: x
modules = [y for x in map(func,l1,l2,l3) for y in x]

但它现在不能处理可变长度的列表,一旦它用完最短的列表就会停止。

拉克什

看起来你需要 itertools.zip_longest

from itertools import zip_longest
l1=[1,2,3]
l2=[10,20,30]
l3=[101,102,103,104]

print([y for x in zip_longest(l1,l2,l3, fillvalue=None) for y in x if y is not None])

输出:

[1, 10, 101, 2, 20, 102, 3, 30, 103, 104]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python3 中的可变长度参数 (*args)

共识/群集在Python中的一组可变长度列表?

Python:从可变长度列表中插入命令行参数

如何在Python2中处理可变长度子列表拆包?

Python3遍历可变长度的XML文件

在python中,如何将列表的每个值作为函数中的可变长度参数单独传递?

如何理解python函数中的可变长度参数?

Python Pandas:为多个用户的多个属性存储可变长度的多个时间序列

如何在python3中更快地将可变长度字节(小于8个)转换为long long int?

在python3中编辑多个列表中的多个变量

可变长度嵌套循环Python

将具有可变长度列表项的python字典导入熊猫

Python3 字典列表

崇高文本 3 中的 ISO C++ 错误中禁止可变长度数组

ksql中的可变长度列表

Python在对象构造函数中创建具有可变长度的2D数组

使用Python可变长度整数在标志中设置单个位是否安全?

在python中快速解析具有规则结构的可变长度行

Python从可变长度的数组字典中创建数组的zip元组

Python 构造 - 解析可变数量的可变长度记录

在 Python3 中获取多个输入

关于python3中的列表

在python3中打印多维列表

如何在python中将可变长度的列表列表的每个元素打印为一列?

Python3可变静态类成员

如何将可变长度列表从一个 python 数据框列转换为行?

可变长度的免费列表

实例属性在Python3中可以不可变吗

python3 / syslog:多个syslog流?