我有一个字符串列表,它是通过组合两个单独的列表来创建一个字符串。学生名单是:
['me: 9', 'him: 7', 'you: 9', 'her: 8']
。
如何在最高数值上对其进行排序,即
['me: 9', 'you: 9', 'her: 8','him: 7']
student_list = []
for x, y in zip(files, scores):
student_result = (x + ": " + y)
student_list.append(student_result)
这是组合两个列表的代码;我不确定这是否需要改变。
答案 0 :(得分:1)
试试这个:
student_list.sort(key=lambda x: int(x[-1]), reverse=True)
print(student_list)
或者如果您不想更改原始列表:
sorted_student_list = sorted(student_list, key=lambda x: int(x[-1]), reverse=True)
print(sorted_student_list)
然后,将列表组合成元组列表可能更有意义:
student_list = []
for x, y in zip(files, scores):
student_result = (x, int(y))
student_list.append(student_result)
print(student_list)
然后在key=lambda x: x[1]
/ sort
函数中使用sorted
。