在这种情况下(Python)如何在排序功能中使用键?

How to use key in the sort function in this situation (Python)?

我有一个这样的列表:

l=[('a',2),('d',0),('c',1),('b',4)]

现在我想对它进行排序,但是是按数字,而不是按单词。如果我只使用 l.sort() 它只是按字母顺序排序。我想要的输出应该像 (d,0)(c,1)(a,2)(b,4)

我试过了l.sort(key = l[0][1])但是还是不行(l[0][1]实际上指的是数字2,也就是第二个值)

您需要传递一个 lambda 作为 key 做正确的事情:

>>> l = [("a", 2), ("d", 0), ("c", 1), ("b", 4)]
>>> l.sort(key=lambda val: val[1])
>>> l
[("d", 0), ("c", 1), ("a", 2), ("b", 4)]