算法题:按字符串中的数字大小排序,python实现

本文介绍了一种使用Python对特殊格式句子进行排序的方法。这种句子中每个单词都包含一个数字,算法会依据这些数字对单词进行重新排序。通过正则表达式提取数字并作为排序关键字,实现了对句子的快速准确排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求:给定一个句子,句子中的每个单词都包含一个数字,要求根据该数字大小对原句子重新排序

测试用例如下

"pyt3hon h1as s5ome po7wer functi9ons"  --> "h1as pyt3hon s5ome po7wer functi9ons"

"pytho1n i6s pow2erful"  --> "pytho1n pow2erful i6s"

"" --> ""

 python 一行代码实现,解决问题的关键思路是提取出每个单词的数字

import re
def sortSentence(sentence):
	if sentence is "":
		return sentence

	return ' '.join(sorted(sentence.split(), key=lambda x:re.findall(r"\d+\.?\d*", x))) 


if __name__ == '__main__':
	sentence1 = "pyt3hon h1as s5ome po7wer functi9ons"
	sentence2 = "pytho1n i6s pow2erful"

	print(sortSentence(sentence1))
	print(sortSentence(sentence2))
	print(sortSentence(""))

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值