我想成绩按字母顺序是在元组的函数,例如排序:的Python:排序元组串字母
sortGrades([('John Smith', 'C'), ('Adam Thomas', 'B'), ('Katie Johnson', 'A')])
而且,数字,像这样:
sortGrades([('John Smith', 54), ('Adam Smith', 54), ('Thomas King', 88)])
所以将按照最高分和最高分排序元组。如果有两个人得分相同,名称也应按字母顺序排序。
到目前为止,我的功能看起来是这样的:
def sortGrades(list):
return sorted(list, key=lambda x:(-x[1],x[0]))
然而,这似乎并没有当我有点等级(A,B,C),它返回一个“类型错误的工作:坏数类型为一元 - :'str'“
任何想法如何使它在同一时间工作的字符串和整数?
- 编辑问题,需要它为字符串和整数都工作!
“如何使它适用于字符串”或“如何使它适用于**字符串和整数**”? – 2014-11-20 19:49:25
字符串和整数。我的坏,对不起!我只需要一个功能就可以做到这一切。 – Josh 2014-11-20 19:49:56
必须'sortGrades()'在没有任何指示的情况下操作,以期望使用哪种类型的列表? – 2014-11-20 19:51:56