按学生ID对学生列表进行排序

我似乎无法弄清楚如何按学生ID对学生列表进行排序。我有一个字符串列表,每个字符串都包含学生的姓名和他们的ID。它看起来是这样的:按学生ID对学生列表进行排序

student_list = ["John,4", "Jake,1", "Alex,10"] 

我所要的输出是这样的:

["Jake,1", "John,4", "Alex,10"] 

我的代码如下所示:

def sort_students_by_id(student_list): 

for string in student_list:

comma = string.find(",")+1

student = [(string[comma:])]

for index in range(len(student)):

minpos = index

for pos in range(index+1, len(student)):

if student[pos] < student[minpos]:

minpos = pos

tmp = student[index]

student[index] = student[minpos]

student[minpos] = tmp

return student_list

print(sort_students_by_id(student_list))

回答:

你可以这样做:

def sort_students_by_id(student_list): 

return sorted(student_list, key=lambda s: int(s.split(',')[-1]))

# ['Jake,1', 'John,4', 'Alex,10']

print(sort_students_by_id(student_list))

以上是 按学生ID对学生列表进行排序 的全部内容, 来源链接: utcz.com/qa/258901.html

回到顶部