Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python—根据从索引1到其余的项对列表进行排序_Python - Fatal编程技术网

python—根据从索引1到其余的项对列表进行排序

python—根据从索引1到其余的项对列表进行排序,python,Python,使用Python 2 我有一张单子 list_of_list = [[a5, abc, xyz], [a1, abc, def],[a2, 4, 2, 3], [a3, 1, 2]] 我必须对列表进行排序,以便所有在第二到第二位置有数字的项目都位于在这些位置有字母的项目之后 输出应该是 sorted_list = [[a1, abc, def], [a5, abc, xyz], [a3, 1, 2], [a2, 4, 2, 3]] 我该怎么做?使用下面的代码并不能完全做到这一点,因为排序不仅

使用Python 2

我有一张单子

list_of_list = [[a5, abc, xyz], [a1, abc, def],[a2, 4, 2, 3], [a3, 1, 2]]
我必须对列表进行排序,以便所有在第二到第二位置有数字的项目都位于在这些位置有字母的项目之后

输出应该是

sorted_list = [[a1, abc, def], [a5, abc, xyz], [a3, 1, 2], [a2, 4, 2, 3]]
我该怎么做?使用下面的代码并不能完全做到这一点,因为排序不仅仅基于内部列表中的第二项

from operator import itemgetter
sorted(list_of_list, key=itemgetter(1))

有什么建议吗?

您可以按以下元组排序以获得所需结果:
(x[1].isdigit(),x[1],x[0])

输出:

[['a1', 'abc', 'def'], ['a5', 'abc', 'xyz'], ['a3', '1', '2'], ['a2', '4', '2', '3']]
这是关于字符串的索引,它也适用于列表。您可能需要使用负索引。
[['a1', 'abc', 'def'], ['a5', 'abc', 'xyz'], ['a3', '1', '2'], ['a2', '4', '2', '3']]