【问题标题】:How to subtract all elements in list from one element in another list?如何从另一个列表中的一个元素中减去列表中的所有元素?
【发布时间】:2020-09-28 12:33:10
【问题描述】:

我在用数学方法将一个列表的所有元素与另一个列表的一个元素相减时遇到问题。 这就是我需要的:

>>>list1 = [ a, b, c]
>>>list2 = [ d, e, f]    

result = [ d-a, e-a, f-a, d-b, e-b, f-b, d-c, e-c, f-c]

我尝试了嵌套循环,但效果不佳:

 subtr = [] 
 for i in list1:
    for j in list2:
       subtr.append(j - i)

如果有人可以帮忙,我将非常感激!

【问题讨论】:

  • 您的代码运行良好。您遇到什么问题?

标签: python list loops nested subtraction


【解决方案1】:

使用列表推导和示例值

list1 = [ 10, 20, 30]
list2 = [ 1, 2, 3] 

[y - x for x in list1 for y in list2]

输出:

[-9, -8, -7, -19, -18, -17, -29, -28, -27]

您的代码也是如此。您可以使用示例值对其进行测试

subtr = [] 
for i in list1:
    for j in list2:
        subtr.append(j - i)
print(subtr)

输出:

[-9, -8, -7, -19, -18, -17, -29, -28, -27]

【讨论】:

  • 非常感谢!我发现 Pycharm 只是在我打印它时删除了列表而不显示预期的解决方案(我是 Python 新手)。无论如何非常感谢,非常有用!
【解决方案2】:

这是一个简单的解决方案:

list1 = [1, 2, 3]
list2 = [10, 20, 30]

result = [x-y for y in list1 for x in list2]

结果:

[9, 19, 29, 8, 18, 28, 7, 17, 27]

【讨论】:

  • 非常感谢!我发现 Pycharm 只是在我打印它时删除了列表而不显示预期的解决方案(我是 Python 新手)。无论如何非常感谢,非常有用!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-15
  • 1970-01-01
  • 2017-05-02
  • 2018-04-19
  • 2018-05-13
  • 1970-01-01
相关资源
最近更新 更多