对包含数字的字符串进行排序
#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"))
运行后输出