#Python3给定的字符串进行排序,字符串中的每个单词都包含一个数字

kate题目原文

字符串的每一个单词都包含一个单独的数字,这个数字代表了单词在字符串中应该所处的位置。
数字在1和9之间,所以含有1的会是第一个单词,如果给定的字符串是空的,返回一个空字符串。
例如: “is2 Thi1s T4est 3a”
返回:“Thi1s is2 3a T4est”

#下面Python3.6 版本实测,但在kate中原题只有2.7的版本,这个方法不能通过,2.7的在最后。

def order(sentence):
    qiege = ("".join(sentence)).split(" ")			#对字符串进行切割处理,并添加到 "" 中
    shuchu = ""
    b = 0
    if len(qiege)>0:								#判断一下长度
        while b < len(qiege):						#进行循环处理
            b += 1
            for a in qiege:							#将切割的字符 遍历出来
                if str(b) in a:						#进行判定 字符b 是否在字符中
                    shuchu += (a+" ")				#在,即每个字符+空格 进行相加组合
        return (shuchu)
    else:
        print()


#这里为Python2.7的版本


def order(sentence):
    return " ".join(sorted(sentence.split(),key=lambda x: int(filter(str.isdigit,x))))

你可能感兴趣的:(Python)