1. 任务
由题目可以知道,任务是根据字符串中的单词夹带的数字对字符串进行重新排序。
例如:
排序前:“is2 Thi1s T4est 3a”
排序后:“Thi1s is2 3a T4est”
2.思路
我的思路是:
- 将整个字符串先分割,做成一个单词(word)为元素的 list
- 对每一个 word ,找到它包含的数字,并记录到辅助 list 中
- 根据辅助 list 和 words 构成的 list ,从小到大排序并重新构成一个新的字符串
3. 代码
def order(sentence):
if sentence == "":
return ""
# 分割字符串并定义辅助函数
words = sentence.split(' ')
indexs = []
result = ""
# 找到并记录每个单词中的数字
for word in words:
for w in word:
if w.isnumeric():
indexs.append(int(w))
for i in range(1,len(words)+1):
ind = indexs.index(i)
result = result + words[ind] + " "
return result.rstrip()