我有一个程序可以生成4个数字并将其附加到列表中。每个列表的项目都是列表本身,如下所示:
[['+', 1, 1, 9, 9], ['+', 2, 1, 4, 4]]
[['+', 2, 1, 10, 10], ['+', 3, 1, 5, 5]]
[['+', 1, 1, 6, 6], ['+', 3, 1, 11, 11]]
[['-', 1, 1, 9, 9], ['-', 2, 1, 4, 4]]
我正在尝试打印它们,以便最后的数字按降序排列(如果它的最后一位数相同,则它按降序使用第三个数字)。
到目前为止我的代码是:
for i in self.result:
sorted(self.result, key=itemgetter(4), reverse = True)
print("{}{:d} {:>5d}..{:>5d} {:>5d}\n" .format(i[0],i[1],i[2],i[3],i[4]))
问题是,这似乎根本没有以有序的方式打印出来,所以我不知道我哪里出错了。
答案 0 :(得分:1)
sorted()
会返回一个您未捕获的新列表。您需要slist = sorted(...)
或oldlist.sort(...)
。后一种情况到位。
要根据需要排序,请使用:
thelist.sort(key=lambda x:list(reversed(x)))