1
多維數組我有一個數據結構,如:訂購在python
[ ["id1", 123], ["id2", 1], ["id3", 6] ]
和我想下令(遞減)根據第二個變量,像這樣:
[ ["id1", 123], ["id3", 6], ["id2", 1] ]
我可以寫一個小功能來做這件事,但我幾乎可以肯定,有一種很酷的單行方式去做,不是嗎?謝謝。
多維數組我有一個數據結構,如:訂購在python
[ ["id1", 123], ["id2", 1], ["id3", 6] ]
和我想下令(遞減)根據第二個變量,像這樣:
[ ["id1", 123], ["id3", 6], ["id2", 1] ]
我可以寫一個小功能來做這件事,但我幾乎可以肯定,有一種很酷的單行方式去做,不是嗎?謝謝。
可以使用sorted
和itemgetter
做到這一點:
>>> a = [ ["id1", 123], ["id2", 1], ["id3", 6] ]
>>> from operator import itemgetter
>>> sorted(a, key=itemgetter(1), reverse=True)
[['id1', 123], ['id3', 6], ['id2', 1]]
如果你純粹想一個班輪(無進口),那麼你可以lambda
它:
>>> sorted(a, key=lambda L: L[1], reverse=True)