簡體   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