大家好,我是Python皮皮。
前几天在Python白银交流群有个叫【猫药师Kelly】的粉丝问了一个Python列表排序的问题,如下图所示。
这里【猫药师Kelly】自己给了一个代码,如下图所示。
看上去确实有点复杂,但是思路是一步一步的,先分别提取字幕和数字,然后使用sorted()
内置函数排序,关于这个sorted()
内置函数的用法,之前有写过文章,可以戳这里:Python基础中的sort()和sorted()函数,傻傻分不清楚?。
后来【月神】给了另外一个方法,代码如下所示:
x = ['C105', 'B103', 'B1020', 'A103', 'A101']
sorted(x, key=lambda x: (x[0], float(x[1:])))
直接一步到位,简直太强了!
小伙伴们直呼好家伙!
这个float(x[1:])
加进来作用是按照第二顺位的排序依据。
大家好,我是皮皮。这篇文章主要分享了Python列表中如何按照先字母升序,再数字升序进行混合排序,文中针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。
最后感谢粉丝【猫药师Kelly】提问,感谢【月神】给出的代码和具体解析,感谢粉丝【dcpeng】、【瑜亮老师】等人参与学习交流。