查找列表列表中的最小元素

Hom*_*map 8 python list

鉴于以下列表:

f = [[1, 19], [1, 19], [1, 19], [2, 18], [16, 4], [10, 10]]
Run Code Online (Sandbox Code Playgroud)

我想获得每个子列表的最小值并创建:

f1 = [1, 1, 1, 2, 4, 10]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

The*_*Guy 12

由于它是一个 Python 列表,您可以使用列表理解min为每个子列表使用函数

[min(subList) for subList in f]
Run Code Online (Sandbox Code Playgroud)

输出

[1, 1, 1, 2, 4, 10]
Run Code Online (Sandbox Code Playgroud)

或者,您甚至可以组合minmap在一起

list(map(min,f))
Run Code Online (Sandbox Code Playgroud)


sac*_*cuL 8

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

>>> f1 = np.min(f, axis =1) 
>>> f1
array([ 1,  1,  1,  2,  4, 10])
Run Code Online (Sandbox Code Playgroud)

一种非numpy方式可能是映射minf

>>> list(map(min, f))
[1, 1, 1, 2, 4, 10]
Run Code Online (Sandbox Code Playgroud)


Muh*_*wan 6

您可以使用内置的 min 函数

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