假设我有以下列表:
l = ['erget', 'a1', 'm1', 'aa', 'ae', 'mea', 'erge4', 'erge7', 'm2', 'me2', 'mei']
当对同样包含数字的字符串列表使用sorted()
时,数字位于字母之前,因此在本例中,它将产生:
sorted(l)
['a1', 'aa', 'ae', 'erge4', 'erge7', 'erget', 'm1', 'm2', 'me2', 'mea', 'mei']
我见过一些答案,比如this one,关于如何使字母出现在数字之前,但只针对单个数字或字母。当数字可以在字符串中的任何位置时,是否也可以使用key
中的一些sorted()
来实现这一点?因此,预期产出:
['aa', 'ae', 'a1', 'erget', 'erge4', 'erge7', 'mea', 'mei', 'me2', 'm1', 'm2']
有点老套:
可以将
sorted
与元组列表一起用作自定义键:您可以使用一个键函数来遍历给定字符串的每个字符,并将
'z'
前置到数字,以便按字母表排序:这将返回:
相关问题 更多 >
编程相关推荐