python排序最后带数字的字符串
什么是最简单的方法来排序字符串列表在末尾有一些数字有3位数,有些有4位数:
>>> list = ['asdf123', 'asdf1234', 'asdf111', 'asdf124']
>>> list.sort()
>>> print list
['asdf111', 'asdf123', 'asdf1234', 'asdf124']
应该把1234一个放在最后。是否有捷径可寻?
没有找到相关结果
已邀请:
8 个回复
骨酚柯
那个
功能可能会做你想要的。或者它可能太复杂了。或者这个模式可能真的是
或者规则可能更加模糊。
贸会
完全披露,我是包的作者。
磁辫覆氓
街茬
您需要进行适当的数字排序才能获得所需的输出。
绵扇寸访
闲窍
壤欠攻混
没有lambda和条件表达式
这只是利用了元组按第一个元素排序,然后是第二个元素的事实。因为调用
函数来获取要比较的值,现在将比较键函数返回的元组来比较元素。例如,
将与
进行比较,因为
与
相比。如果字符串的最后3个字符实际上不是数字,那么你将获得一个非常合适的ValueError,因为你传递的数据不符合它的设计规格。
苏髓骗撩
为我做: