python数字字符串排序_Python-数字字符串排序

一、前言

列表排序基础:https://www.jianshu.com/p/44d4924744cb

列表的字符串包含数字,直接使用sorted()排序,得到的结果往往不如人意,如下:

your_list = ["a1", "a2", "a10", "b2", "b1"]

print(sorted(your_list))

#输出

['a1', 'a10', 'a2', 'b1', 'b2']

期望大多数是这样:['a1', 'a2', 'a10', 'b1', 'b2']

二、纯数字字符串

shuzi_list = ['1', '4', '2', '3', '22', '23', '24', '33', '35']

print(sorted(shuzi_list))

#传参key,使用匿名函数,info指列表的数据,将字符串转为整数然后排序

print(sorted(shuzi_list, key=lambda info: (int(info))))

#输出

['1', '2', '22', '23', '24', '3', '33', '35', '4']

[

你可能感兴趣的:(python数字字符串排序)