繁体   English   中英

在Python 2.7中对2D数组进行排序

[英]Sorting 2D arrays in fuction in Python 2.7

所以! 大家好。 希望您能帮我解决这个问题。 我需要编写一个签名为sort_2D_List(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)

但这不会给我任何输出。 你能解释出什么问题吗?

提前致谢

您在这里发生的很多事情可能与您的想法不符

  1. 您的列表是“ comp_sci_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?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM