Akira_Z

 

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时就会按照数字大小进行排序。

 

posted on 2020-07-01 20:22  Akira_Z  阅读(131)  评论(0编辑  收藏  举报

导航