我正在尝试用 python 编程
我有一个包含数据的数组
[A,20,假] [B,1,假] [C, 8, 假]
我希望能够通过获取具有最低中间数字的元素来遍历数组,例如,下一个要处理的元素将是 B,因为它具有最小的数字 1。然后它被删除,所以下一个要使用的元素将是 C,因为在 20 和 8 中,8 是最小的数字......
希望我说清楚了
请帮忙
谢谢
>>> myList = [["A", 20, False], ["B", 1, False], ["C", 8, False]]
>>> smallest = min(myList, key=lambda L: L[1])
>>> smallest
['B', 1, False]
如果您想使用该元素对其进行排序,您可以使用以下方法执行相同的操作sorted
:
>>> sorted(myList, key=lambda L: L[1])
[['B', 1, False], ['C', 8, False], ['A', 20, False]]
这将为您提供编号最小的项目:
from operator import itemgetter
next = min(array,key=itemgetter(1))[0]
您还可以使用第二项作为键对列表进行排序:
array.sort(array,key=itemgetter(1))
首先对列表进行排序,然后按照您所说的循环遍历它:
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