合并两个不同长度的python列表

瑟维拉莫尔

我有以下代码:

L = [1, x, x**2]
L2 = [1, 2*x]
def my_mul(x,y):
    if x == None: return y
    if y == None: return x
    return x*y
map(my_mul, L, L2)

这产生了我想要的,这是L和L2的元素乘积。

[1, 2*x^2, x^2]

但是,有没有更Python的方法来实现这一目标?

具体而言,是否可以在不定义自己的功能的情况下执行此操作?

低级卡米尔

下面的代码应该可以满足您的需求

import itertools
import operator

l1 = [1, 2, 3]
l2 = [1, 2, 3, 4]

list(itertools.starmap(operator.mul, itertools.zip_longest(l1, l2, fillvalue=1)))
# result [1, 3, 9, 4]

说明

zip_longest 将压缩并填充较短列表中的缺失值:

itertools.zip_longest(l1, l2, fillvalue=1)
[(1, 1), (2, 2), (3, 3), (1, 4)]

starmap 将乘法运算符应用于每个整数对

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在python中合并两个不同长度的列表

使用Python中的单个键合并两个不同长度的字典列表

熊猫合并两个不同长度的数据框

如何合并两个不同长度的数据帧?

合并两个相同长度但键不同的数组?

合并两个不同长度的数据框

合并两个不同长度的数据框

如何将两个不同长度的列表合并为Pandas数据框?

如何在python中合并两个不同长度的数据框

不同长度的两个列表的循环组合

遍历两个不同长度的列表

如何交织两个不同长度的列表?

加入两个不同长度的列表

遍历两个不同长度的列表

在Python中平均分布和压缩两个不同长度的列表

Python:两个相同长度的列表的元素连接

合并不同长度的python列表

在具有不同实例数的特定列上合并两个不同长度的数据帧

将两个不同长度的文件合并为一个文件

具有相同长度的两个输入列表与具有不同长度的两个输入列表的行为不同(方案)

合并两个不同长度的数组,键和0填充为空

如何合并来自两个相同长度的不同数组的对象?

合并两个具有不同长度,键和值的对象

如何根据值合并两个不同长度的对象

在JavaScript中使用map()合并(压缩)两个不同长度的数组

按组 ID 合并两个不同长度的数据帧

合并两个不同长度的数据框时重复某些列(粘贴?)

合并不同长度的两个数据集

绘制两个不同长度的不同数组