希望這將是有意義......排序元組的兩元組條目相反的順序列表
我有以下形式的元組的列表:
list_of_tuples = [('a', 1), ('b', 3), ('b', 2), ('a', 3)]
所需的輸出是
sorted_list_of_tuples = [('a', 1), ('b', 2), ('b', 3), ('a', 3)]
問題是我想第二個條目增加,第一個條目要減少。
import operator as op
sorted_list_of_tuples = sorted(list_of_tuples, key=op.itemgetter(2, 0))
這當然會將這兩個字段排序爲增加。我不能拿出一個可愛的(即幾行)來做到這一點。有沒有人有辦法輕鬆完成這種排序?
我似乎記得你可以使用_
引用括號內的列表理解元素,所以也許這是一個開始的地方?
也許我不清楚:在這種情況下,整數更重要。它的順序應該越來越大。當一個領帶(即..,第二個條目相等)時,我希望在'a'之前出現'b'。
*我似乎記得您可以使用_引用括號內的列表理解元素,所以也許這是一個開始的地方?* - 我不確定你指的是什麼,但'_'在Python中沒什麼特別的,只是一個變量名。 – 2013-05-02 22:26:00
@Lattyware:我明白。我回憶起來是在這個線程:http://stackoverflow.com/questions/101268/hidden-features-of-python請參閱標題爲「引用一個列表理解,因爲它正在建造......」 – BenDundee 2013-05-02 22:40:58
正如那裏指出,這是一個模糊的實現細節,而不是一般要使用的東西。這裏也沒有真正的相關性。 – 2013-05-02 22:42:54