【发布时间】:2018-12-07 17:23:13
【问题描述】:
假设我有以下列表:
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,关于如何使字母出现在数字之前,但仅限于单个数字或字母。当数字可以在字符串中的任何位置时,是否也可以在sorted() 中使用一些key 来做到这一点?所以预期的输出:
['aa', 'ae', 'a1', 'erget', 'erge4', 'erge7', 'mea', 'mei', 'me2', 'm1', 'm2']
【问题讨论】: