希望这将是有意义......排序元组的两元组条目相反的顺序列表
我有以下形式的元组的列表:
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