我有这样的列表:
list1 = [["A",5,2,8,3],["B",9,5,1,5]]
我试图通过第二列对其进行排序。我希望list1为
[["B",9,5,1,5],["A",5,2,8,3]]
因为9大于5对吗?我正在使用
sorted(lis1, key=lambda a : a[1])
然而,它并没有对它进行排序;它只是保持原样。为什么这不起作用?
答案 0 :(得分:2)
答案 1 :(得分:1)
你只需要扭转它:
list1 = [["A",5,2,8,3],["B",9,5,1,5]]
list1 = sorted(list1, key=lambda a : a[1], reverse=True)
print(list1)
# outputs [["B",9,5,1,5],["A",5,2,8,3]]
9> 5,之后会出现,除非你逆转。
答案 2 :(得分:0)
使用operator.itemgetter()函数:
Observable.range(1, 5)
.groupBy(n -> n % 5)
.flatMap(g -> g.toList())
.lift(new MinRegularIntervalDelayOperator<Integer>(50L))
.doOnNext(item -> {
System.out.println(System.currentTimeMillis() - timeNow);
System.out.println(item);
System.out.println(" ");
}).toList().toBlocking().first();
输出:
from operator import itemgetter
list1 = [["A",5,2,8,3],["B",9,5,1,5],["C",1,2,8,3]]
print(sorted(list1, key=itemgetter(1)))
print(sorted(list1, key=itemgetter(1), reverse=True))