Guy*_*Guy 3 python sorting list
给定一个字符串列表,我想以排序的顺序返回一个包含字符串的列表,除了将所有以'x'开头的字符串分组.
例如:
['mix', 'xyz', 'apple', 'xanadu', 'aardvark']
Run Code Online (Sandbox Code Playgroud)
应该产量:
['xanadu', 'xyz', 'aardvark', 'apple', 'mix']
Run Code Online (Sandbox Code Playgroud)
我知道可以通过制作2个列表并在组合之前对每个列表进行排序来完成,但我不确定如何编写'x'是第一个字符的条件.
sorted或list.sort接受可选的key关键字参数.这是用于获取排序键的函数,函数的返回值用于比较而不是原始项.
>>> words = ['mix', 'xyz', 'apple', 'xanadu', 'aardvark']
>>> sorted(words, key=lambda word: (word[0] != 'x', word))
['xanadu', 'xyz', 'aardvark', 'apple', 'mix']
Run Code Online (Sandbox Code Playgroud)
用过word[0] != 'x'; False对于单词的返回(0)开始x,True对于其他单词,返回(1); 结果词首先x出现.