【发布时间】:2017-05-17 02:10:34
【问题描述】:
假设我有以下列表:
[[list1], [list2], ..., [listK]]
其中 list1, list2, ..., listK 是 N 个字符串的列表。
[list1] = [string11, string12, ..., string1N]
[list2] = [string21, string22, ..., string2N]
. .
. .
. .
现在,假设我想选择内部列表的某个特定子集按降序排序,其余按升序排序。 例如,假设 N=5,我首先想通过内部列表的第一个、第三个、第五个字符串按升序排序,然后按降序的第二个和第四个字符串对外部列表进行排序。
如果我不关心升序/降序,并且想按升序对所有内容进行排序,那么将有一个简单的单行解决方案:
outer_list.sort(key = lambda lst: (lst[0], lst[2], lst[4], lst[1], lst[3]))
但是由于我们有一个条件:内部列表的第一个,第三个,第五个字符串按升序排列,然后按降序排列第二个和第四个字符串,我想知道是否有一个简单的添加到上面的代码中它是一种单线解决方案。
【问题讨论】:
标签: python string list sorting