在嵌套列表的每一行中查找最低元素

时间:2017-12-17 03:21:11

标签: python python-3.x

我有一个嵌套列表,看起来像这样。

HE

我想在每个子列表中找到最小元素。谢谢你的帮助!

2 个答案:

答案 0 :(得分:5)

好吧,因为其他人已经发布了答案,您可以使用所谓的 list comprehension 将每个子列表的最小值存储在列表中,如下所示:

new_s = [min(x) for x in s]

Python有一个内置的min()函数,它接受一个可迭代的(即你的一个子列表)并找到最小值。通过使用 list comprehension ,您可以构建这些值的列表。它可以理解为:

" s(父列表)中每个x(子列表)的最小值列表"

修改:评论使用:

new_s = [sorted(x)[1] for x in s]

可以理解为:

" s(父列表)中每个x(子列表)的排序数组x中的第二个元素的列表"

答案 1 :(得分:1)

您可以使用map,这在使用内置函数时比列表理解稍微高一些,在这种情况下min

s = [[0.0, 1.4142135623730951, 2.8284271247461903, 2.23606797749979],
[1.4142135623730951, 0.0, 1.4142135623730951, 1.0],
[2.8284271247461903, 1.4142135623730951, 0.0, 1.0],
[2.23606797749979, 1.0, 1.0, 0.0]]
new_s = list(map(min, s))

输出:

[0.0, 0.0, 0.0, 0.0]

@pstatix提到的替代列表理解:

new_s = [min(i) for i in s]