按列表中的第一个元素对嵌套列表进行排序

时间:2019-07-03 17:28:04

标签: python python-2.7

我需要根据每个列表中的第一个元素对嵌套列表进行排序...

所以我有以下内容:

 input = [['ABCMeter', 'six', 'page','car=frog'],['ABCarrow','mall','cop''xmlVal'],['ABCcomp','eleven','computer'],['ABCliz','one']]

我需要对它们进行排序,以便:

output = [['ABCarrow','mall','cop''xmlVal'], ['ABCcomp','eleven','computer'], ['ABCliz','one'], ['ABCMeter', 'six', 'page','car=frog']]

我没有运气(和其他几种排序方法)尝试了以下方法:

split_into_lists = input.sort(key=lambda x: x[0])

3 个答案:

答案 0 :(得分:3)

您使用的是错误的功能; org.keycloak.forms.login.LoginFormsProviderFactory方法会就地修改列表并返回(com.yourpackage).KeycloakFreeMarkerLoginProviderFactory。改用sort返回一个新列表。

None

答案 1 :(得分:2)

此外,预期输出与String对象的排序条件不匹配。

例如: ABCMeter <ABCarrow

它逐个字符地比较,如果相等,则比较下一个。由于M小于a(请参见ASCII表),因此ABCMeter <ABCarrow

答案 2 :(得分:2)

split_into_lists = sorted(input, key=lambda x: x[0].casefold())