在Python2.7的函数中排序2D数组

2024-10-04 01:26:39 发布

您现在位置:Python中文网/ 问答频道 /正文

所以!大家好。我希望你能帮我解决这个问题。我需要用signaturesort\u 2D\u List(List)编写一个函数→ 列表,它应该在我的2D列表中按名称排序学生。我想出了这个密码:

comp_sci_students = [ ['Steve Jobs', 0, 'G40F'] , ['Ada Lovelace', 1, 'G400'], ['Virginia Woolf', 2, 'G300'] ]

def sort_2D_List(List):
    return List

List = comp_sci_students
List.sort(key=lambda x:x[0], reverse=False)

sort_2D_List(List)

但它不会给我任何输出。你能解释一下怎么了吗

提前谢谢


Tags: 函数名称密码列表排序jobssort学生
1条回答
网友
1楼 · 发布于 2024-10-04 01:26:39

你有很多事情可能不是你想的那样

  1. 您的列表是“comp\u sci\u students”,您无需将其重新分配给其他变量

  2. 您当前正在尝试将排序作为Lambda函数,这可能发生在您的函数中

  3. 您的函数当前没有执行任何操作。给它一个列表,它所做的就是返回相同的列表

  4. 因为你的函数正在返回一些东西(一个列表),你需要以某种方式接收这个返回。类似于new_list = sort_2D_List(list)

你大概想做的是:

comp_sci_students = [ ['Steve Jobs', 0, 'G40F'] , ['Ada Lovelace', 1, 'G400'], ['Virginia Woolf', 2, 'G300'] ]

def sort_2D_List(input_list):
    input_list.sort(key=lambda x:x[0], reverse=False)
    return input_list

output_list = sort_2D_List(comp_sci_students)
# Do something with the output List (Print?)

相关问题 更多 >