如何按最高编号对字符串列表进行排序

时间:2016-03-20 13:36:42

标签: python-3.x

我有一个字符串列表,它是通过组合两个单独的列表来创建一个字符串。学生名单是:

['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)

这是组合两个列表的代码;我不确定这是否需要改变。

1 个答案:

答案 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