对包含数字的字符串进行排序

时间:2021-02-18 14:42:55
#coding:utf8
import re

def order(str):
    # 根据空格对字符串进行切片
    list = str.split()
    '''
    通过 sorted() 函数对list进行排序操作,
    key 是用来进行比较的元素,只有一个参数,匿名函数 lambda 的参数取自于可迭代对象 list 中,指定可迭代对象 list 中的一个元素 x 来进行排序。
    采用正则表达式 re.findall(r'\d+', x) 可取出元素 x 中的数字
    '''
    list = sorted(list, key=lambda x: re.findall('\d+', x))
    # 将列表转换成字符串
    str = ' '.join(list)
    return str

if __name__ == '__main__':
    print(order("is2 Thi1s T4est 6a bc3c y"))

 运行后输出

对包含数字的字符串进行排序