如果我有一个像这样的嵌套列表:
L = [['James', '1', '2'], ['Alan', '1', '1'], ['Henry', '1', '5']]
如何在不使用排序或排序函数的情况下根据每个子列表中的最后一个数字从最高到最低对它进行排序?
Output:
final = [['Henry', '1', '5'], ['James', '1', '2'], ['Alan', '1', '1']]
我知道如何做到这一点的唯一方法是使用排序功能,但我想知道如果没有排序功能如何做到这一点。
L = [['James', '1', '2'], ['Alan', '1', '1'], ['Henry', '1', '5']]
keys = [(int(v[-1]),k) for k,v in enumerate(L)]
final = []
for i in range(len(keys)):
#find the next biggest element according to last element of the list.
final.append(L[max(keys)[-1]])
keys[max(keys)[-1]] = ''
final
Out[83]: [['Henry', '1', '5'], ['James', '1', '2'], ['Alan', '1', '1']]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)