我有一个嵌套列表,看起来像这样。
HE
我想在每个子列表中找到最小元素。谢谢你的帮助!
答案 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]