students_grade
是一个包含元组的列表,每个元组都有一个学生姓名和一个年级,都在一个字符串中。
例如:
students_grade = [('jon','88'), ('bran', '100'), ('arya','93'), ('dan', '88')]
我们的目标是创建一个新列表,其中包含按年级排序的相同元组:
[('jon','88'), ('dan', '88',' ('arya','93'),('bran','100')]
我试着用字典解决它,但是我注意到'100' < '93'
返回True
,所以我试着按int(values)
对字典排序,但是得到了TypeError
。你知道吗
dic = {}
for i in students_grades:
dic[i[0]] = i[1]
sorted_keys = sorted(dic.keys(), key = int(dic.get), reverse=True)
如果没有int(dic.get)
,它可以正常工作。为什么会失败?你知道吗
对于一个普通的字典来说,没有顺序的概念,不管怎样,你也不需要它来排序列表。试试这个:
相关问题 更多 >
编程相关推荐