Python 使用列表理解,编写一个减去列表的脚本';将元素从一个列表添加到另一个列表

Python 使用列表理解,编写一个减去列表的脚本';将元素从一个列表添加到另一个列表,python,Python,我试图使用列表理解从列表中的列表中减去元素。 我想实现以下目标: list1=[a,b,c] 列表=[[e,f,g,h],[i,j],[k,l,m,n]] 新列表=[[e-a,f-a,g-a,h-a],[i-b,j-b],[k-c,l-c,m-c,n-c]] 所以这是一个元素对元素的减法,但要么因为我的大多数数字都是浮点数而出错,要么我得到如下结果: new_list=[[e,a],[f,b],[g,c],[i,a],[j,b]…] 我不知道这是否有意义?这是: new_list = [[v

我试图使用列表理解从列表中的列表中减去元素。 我想实现以下目标:

list1=[a,b,c]
列表=[[e,f,g,h],[i,j],[k,l,m,n]]
新列表=[[e-a,f-a,g-a,h-a],[i-b,j-b],[k-c,l-c,m-c,n-c]]
所以这是一个元素对元素的减法,但要么因为我的大多数数字都是浮点数而出错,要么我得到如下结果:

new_list=[[e,a],[f,b],[g,c],[i,a],[j,b]…]
我不知道这是否有意义?

这是:

new_list = [[v1 - v2 for v1 in vs1] for v2, vs1 in zip(list1, listoflists)]
这是:

new_list = [[v1 - v2 for v1 in vs1] for v2, vs1 in zip(list1, listoflists)]

zip将为每个列表中的相应元素创建元组。 然后为每个元组从第一个元素中减去第二个元素

 [ x-y for x, y in list(zip(list1,list2))]

zip将为每个列表中的相应元素创建元组。 然后为每个元组从第一个元素中减去第二个元素

 [ x-y for x, y in list(zip(list1,list2))]

请用您尝试过的代码更新您的问题。请用您尝试过的代码更新您的问题。它成功了!非常感谢。您的答案清晰简洁。再次感谢。我一定会将此保存到某个地方,我是Python新手,列表理解有时会让我感到困惑。它成功了!非常感谢。您的答案是c再次感谢你。我一定会把这个保存在某个地方,我对Python还不熟悉,有时列表理解会让我感到厌烦。