在这种情况下(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)]
我有一个这样的列表:
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)]