我在做一个关于Python和列表的练习,其中有一个问题: 我有一个按第二个键排序的元组列表:
[('f', 3), ('a', 3), ('d', 3), ('b', 2), ('c', 2)]
我需要排序:第二个值按数字排序,第一个值按字母顺序排序。它必须看起来像:
^{pr2}$当我使用sorted
函数时,我得到了:
[('a', 3), ('b', 2), ('c', 2), ('d', 3), ('f', 3)]
它按第一个元素排序(我失去了第二个元素的排列)。我还尝试使用key
:
def getKey(item):
return item[0]
a = (sorted(lis, key=getKey))
这对我也没什么帮助。在
当有一个嵌套元组的列表时,不能通过查看这两个元素来
sort
。在您的例子中,您可以按字母顺序或数字顺序sort
。使用sort
方法的key
参数,可以指定元组对中要对数据排序的元素。在如果要按递增的数字顺序排序:
如果要按数字降序排序:
^{pr2}$如果要按字母顺序排序:
颠倒字母顺序:
key
参数让您指定要按元组对中的哪个元素进行排序。 不能同时按字母和数字顺序排序。在正确答案:
结果: [(“a”,4),(“b”,4),(“f”,4),(“c”,3),(“k”,1)]
我们传递两个键来排序}的联系,后者从最低到最高排序,即a-z。在
-x[1]
,它将负号从高到低的数字排序,然后我们中断与{`
相关问题 更多 >
编程相关推荐