在一个列表的列表中查找最小元素。

9

假设有以下列表:

f = [[1, 19], [1, 19], [1, 19], [2, 18], [16, 4], [10, 10]]

我想获取每个子列表的最小值,并创建:
f1 = [1, 1, 1, 2, 4, 10]

我该如何做到这一点?

3个回答

16

由于这是一个Python列表,您可以使用列表推导式对每个子列表使用min函数。

[min(subList) for subList in f]

输出

[1, 1, 1, 2, 4, 10]

或者,您甚至可以将minmap结合在一起使用。

list(map(min,f))

9

一个简单的 numpy 方法是使用 axis=1np.min

>>> f1 = np.min(f, axis =1) 
>>> f1
array([ 1,  1,  1,  2,  4, 10])

一种非numpy的方法是将min映射到f:
>>> list(map(min, f))
[1, 1, 1, 2, 4, 10]

7

你可以使用内置的min函数。

f = [[1, 19], [1, 19], [1, 19], [2, 18], [16, 4], [10, 10]]
f1 = []
for i in f:
    f1.append(min(i))
f1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接