【问题标题】:Map and max two lists映射和最大两个列表
【发布时间】:2019-04-27 18:25:36
【问题描述】:

我试图通过比较两个列表来找到最大的列表。我正在尝试使用 map 和 max,但它们似乎没有按照我的意愿工作。

l = [0,1]
l2 = [1,0]
list(map(max, l, l2)))

[1,1]

并且在我尝试计算时看起来像“从这两个列表中获取最大的值”:“比较每个元素,并给我具有最大值的列表”,在这种情况下,l2 将是最大的。

【问题讨论】:

  • np.maximum 是为此而构建的,但你可以使用numpy吗?
  • 我试图通过不合并任何其他库来实现这一点。
  • 您期望的输入和输出是什么?如果打成平手会怎样?
  • “给我最大价值的列表”——你到底是什么意思?两个列表都包含一个 1,这是最大的值,那么为什么 l2 应该是“最大的”?

标签: python list max


【解决方案1】:

您可以使用 for 循环:

l = [0,1]
l2 = [1,0]

res = []

for i in range(0,len(l)):
   res.append(max(l[i], l2[i]))

【讨论】:

  • 简体:res = [max(i, i2) for i, i2 in zip(l, l2)]
  • 当然,它更pythonic!
  • @wjandrea 仍然不正确。我想从两个列表中获取最大列表,而不是最大列表的总和。 ://
  • @OktayGardener 哦,我只是在简化方法,并不是说它是正确的。事实上,您的问题并不清楚是否正确。
猜你喜欢
  • 1970-01-01
  • 2012-06-19
  • 2022-07-27
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 2010-09-19
  • 1970-01-01
  • 2022-08-15
相关资源
最近更新 更多