【问题标题】:Python: Minimum of lists using custom functionPython:使用自定义函数的列表最少
【发布时间】:2018-08-19 07:18:41
【问题描述】:

如果我创建一个元组列表lst = [(0,5), (5,0), (2,2)] 并使用min(lst),它将返回(0,5)

python如何决定哪个元组最小?

是否使用元组的第一个元素来做出决定?

假设元组中只有 2 个元素,我应该如何更改它以返回元组的最小总和?

【问题讨论】:

标签: python python-3.x list


【解决方案1】:

您可以使用带有min 的自定义键。

lst = [(0,5), (5,0), (2,2)]

res = min(lst, key=lambda x: sum(x))
# (2, 2)

要了解min(lst) 的一般工作原理,请参阅How does the min/max function on a nested list work?

如果您希望检索按第一个元素排序的最小和的元素,您可以指定一个元组键:

lst2 = [(0,5), (5,0), (2,2), (1,3)]

res = min(lst2, key=lambda x: (sum(x), x[0]))
# (1, 3)

如果不使用元组键,上面的结果将是(2,2)

【讨论】:

  • 另外,第一个和第三个元素的总和不同(5 对 4)。
猜你喜欢
  • 1970-01-01
  • 2020-06-30
  • 2021-10-09
  • 2021-10-04
  • 1970-01-01
  • 1970-01-01
  • 2018-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多