python习题三
题目描述:
对给出的字符串进行排序,字符串有以下特点,每个词中都有一位数字(1-9)。将这些词按照拥有的数字大小进行排序。
注意:如果输入的是空字符串,则输出空字符串。
举例说明:
INPUT OUTPUT "is2 Thi1s T4est 3a" --> "Thi1s is2 3a T4est" "4of Fo1r pe6ople g3ood th5e the2" --> "Fo1r the2 g3ood 4of th5e pe6ople" "" --> ""
灵活的解题方法
def order(sentence): return ' '.join(sorted(sentence.split(), key=sorted))
说明:
首先,将字符串按空格分隔单个word,使用split()函数;
接着就是按word中的数字进行排序,使用sorted函数,将单个词进行排序。由于数字一定小于英文字母,所以巧妙地用sorted对key值进行排序。
比如T4est这个word,用sorted排序后是['4', 'T', 'e', 's', 't'],is2排序后是['2', 'i', 's']。首位都是数字,再进行sorted时就会按照数字大小进行排序。