Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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 如何编写一个函数,该函数接受字符串列表,并按排序顺序返回包含字符串的列表_Python_String_Sorting - Fatal编程技术网

Python 如何编写一个函数,该函数接受字符串列表,并按排序顺序返回包含字符串的列表

Python 如何编写一个函数,该函数接受字符串列表,并按排序顺序返回包含字符串的列表,python,string,sorting,Python,String,Sorting,编写一个函数,该函数接受一个字符串列表,并返回一个按排序顺序排列的字符串列表,但它会将所有以“x”开头的字符串分组 比如说,, ['mix','xyz','apple','xanadu','aardvark']产量 ['xanadu'、'xyz'、'aardvark'、'apple'、'mix'] 我认为这可以通过制作两个列表并在合并它们之前对每个列表进行排序来实现,但我什么也没有得到 任何想法都是有用的使用带有自定义键的已排序bif KEY = 'X0123456789ABCDEFGHIJKL

编写一个函数,该函数接受一个字符串列表,并返回一个按排序顺序排列的字符串列表,但它会将所有以“x”开头的字符串分组

比如说,, ['mix','xyz','apple','xanadu','aardvark']产量 ['xanadu'、'xyz'、'aardvark'、'apple'、'mix']

我认为这可以通过制作两个列表并在合并它们之前对每个列表进行排序来实现,但我什么也没有得到

任何想法都是有用的

使用带有自定义键的已排序bif

KEY = 'X0123456789ABCDEFGHIJKLMNOPQRSTUVWYZ'
sorted(my_list, key=KEY.index)

拆分列表是一个好主意,您可以使用:

然后,您可以对每个列表应用排序,并将它们重新添加到一起:

sorted(xs) + sorted(no_xs)

到目前为止你尝试了什么?@DSM是的,很可能!请注意,此解决方案还改变了除第一个字符以外的字符的分类概念;这可能不可取。这是一个良好的开端,但它将如何排序['xa','xx']?我相信只有当“x”是字符串的第一个字符时,它才是特殊的。这是一个语法错误,右括号太多,然后是ValueError:找不到子字符串,因为不包括小写字符!除了第一个字符方面,由于大小写的不同,这不会对OP的示例进行排序。
sorted(xs) + sorted(no_xs)