我已經設置了一個任務,通過像這樣的函數參數對給定的元組列表進行排序。我必須讓函數只用兩行代碼來操作。 排序順序是這樣: 1)級 2)姓 3)用的名字如何通過數字(降序)和按字母順序對元組的相同索引進行排序? [Python]
因此,例如,一個文檔測試將是:
sortStudents([('Tim Smith', 54), ('Anna Smith', 88), ('Barry Thomas', 88)])
這是我到目前爲止有:
def sortStudents(a):
return (sorted(a, key=lambda x: (-x[1], x[0].split()[1], x[0].split()[0])))
我已經完成了這些測試。然而,我無法通過的最後一個文檔測試是使用按字母順序排列的文檔,而不是數字文檔。而當我按降序排列數值(按索引)時,它會同時顛倒按字母排序的排序。 doctest的一個例子是:
sortStudents([('Tim Jones', 'C'), ('Anna Smith', 'B'), ('Barry Thomas', 'A')])
在此先感謝。
你確實知道等級只是一個字母嗎? –
在這個任務中是的。 –
@MorganThrapp你還在誤解它,你提到的帖子是關於不同索引的討論,我說的是元組的相同索引,但是參數類型不同。 –