我有一个嵌套链表:
list_a = [[A, 12.1], [B, 15.6], [C, 9.8], [D, 12.1], [F, 96.3]]
我已根据子列表的第二个元素使用 sorted(list_a)
成功对列表进行排序。如何获得输出 A 和 D(列表的第一个元素与第二小的第二个元素)?
最佳答案
这里不需要完整排序。您可以使用heap.nsmallest
接下来是列表理解:
from heapq import nsmallest
from operator import itemgetter
list_a = [['A', 12.1], ['B', 15.6], ['C', 9.8], ['D', 12.1], ['F', 96.3]]
second_largest_val = nsmallest(2, map(itemgetter(1), list_a))[1]
res = [key for key, val in list_a if val == second_largest_val]
# ['A', 'D']
关于python - 访问排序嵌套列表的第一个元素以获取第二小的第二个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53115560/