我有一個多列數據表,每行都是唯一的,我想知道如何根據多列進行排序。如果按字母順序排列解決方案已經被描述爲here。但是,我不需要按字母排序,而是需要根據存儲在另一個列表中的自定義排序對每列進行排序。例如,如果我的表是多列表排序與每列的自定義排序
mytable = [
('A1', 'B1', 'C1'),
('A1', 'B2', 'C2'),
('A2', 'B2', 'C1'),
('A2', 'B2', 'C2')
]
我可能想的第一列被排序[「A2」,「A1」],第二列被排序[「B1」,「B2」],和第三列將被命令['C2','C1']。正確的結果是
mytable = [
('A2', 'B2', 'C2'),
('A2', 'B2', 'C1'),
('A1', 'B1', 'C1'),
('A1', 'B2', 'C2')
]
請注意,這將不得不擴展到超過3列的表格 –
@DavidRobinson:我決定專注於實際問題。當然,你需要循環或類似的東西來將其從3推廣到n,但這不是問題。 –
我認爲從「A1」,「A2」等例子中可以清楚地看出,這不是實際的用例! –