在Python中获取数组中的最小值

1 投票
3 回答
3133 浏览
提问于 2025-04-16 13:41

我正在尝试用Python编程。

我有一个数组,里面存着一些数据,比如:

[A,20,False] [B,1,False] [C,8,False]

我想要通过找到中间数字最小的元素来循环这个数组。比如,接下来要处理的元素是B,因为它的中间数字1是最小的。然后把B删除,接下来要用的元素就是C,因为在20和8中,8是最小的……

希望我说得够清楚。

请帮帮我。

谢谢!

3 个回答

0

首先把列表排序,然后像你说的那样遍历它:

somelist = [[A,20,False] [B,1,False] [C, 8, False]]
somelist.sort(lambda x, y: cmp(x[1], y[1]))

for smallest in somelist:
    # do stuff with the smallest member
2

这段代码会帮你找到数字最小的那个项目:

from operator import itemgetter

next = min(array,key=itemgetter(1))[0]

你也可以用第二个项目来排序这个列表:

array.sort(array,key=itemgetter(1))
5
>>> myList = [["A", 20, False], ["B", 1, False], ["C", 8, False]]
>>> smallest = min(myList, key=lambda L: L[1])
>>> smallest
['B', 1, False]
>>> sorted(myList, key=lambda L: L[1])
[['B', 1, False], ['C', 8, False], ['A', 20, False]]

如果你想用那个元素来排序,你可以用 sorted 来做同样的事情:

撰写回答