Python多种方法实现句子中单词倒置(好未来2017笔试题)
2017-03-11 16:15
429 查看
问题描述:将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I
代码:
def
rev1(s):
return
' '.join(reversed(s.split()))
def
rev2(s):
t = s.split()
t.reverse()
return ' '.join(t)
def
rev3(s):
'''考虑开头或结束有空格的情况'''
import re
t = re.split('\s+', s.strip())
t.reverse()
return
' '.join(t)
def
rev4(s):
'''考虑开头或结束有空格的情况'''
import re
t = re.split('\s+', s.strip())
return
' '.join(reversed(t))
def
rev5(s):
'''字符串整体逆序,分隔,再各单词逆序'''
t = ''.join(reversed(s)).split()
t = map(lambda x:''.join(reversed(x)), t)
return
' '.join(t)
#测试
import string
import random
source = string.ascii_letters +
' ,.?'
for i
in range(100000):
s = ''.join((random.choice(source)
for _ in range(100)))
s1, s2, s3, s4,s5 = rev1(s), rev2(s), rev3(s), rev4(s), rev5(s)
if not (s1==s2==s3==s4==s5):
print('='*30)
print('{0}\n{1}\n{2}\n{3}\n{4}\n{5}'.format(s,s1,s2,s3,s4,s5))
运行结果:
无输出,说明几种方法处理结果一致。
代码:
def
rev1(s):
return
' '.join(reversed(s.split()))
def
rev2(s):
t = s.split()
t.reverse()
return ' '.join(t)
def
rev3(s):
'''考虑开头或结束有空格的情况'''
import re
t = re.split('\s+', s.strip())
t.reverse()
return
' '.join(t)
def
rev4(s):
'''考虑开头或结束有空格的情况'''
import re
t = re.split('\s+', s.strip())
return
' '.join(reversed(t))
def
rev5(s):
'''字符串整体逆序,分隔,再各单词逆序'''
t = ''.join(reversed(s)).split()
t = map(lambda x:''.join(reversed(x)), t)
return
' '.join(t)
#测试
import string
import random
source = string.ascii_letters +
' ,.?'
for i
in range(100000):
s = ''.join((random.choice(source)
for _ in range(100)))
s1, s2, s3, s4,s5 = rev1(s), rev2(s), rev3(s), rev4(s), rev5(s)
if not (s1==s2==s3==s4==s5):
print('='*30)
print('{0}\n{1}\n{2}\n{3}\n{4}\n{5}'.format(s,s1,s2,s3,s4,s5))
运行结果:
无输出,说明几种方法处理结果一致。
相关文章推荐
- 再谈将C++语言源码转成html的方法(vim实现,可用于java,perl,python等等多种语言)
- 名企笔试:好未来2017秋招笔试:(倒置字符串)2017-03-07 算法爱好者
- Python核心编程多种方法实现过滤filter()
- python实现将英文单词表示的数字转换成阿拉伯数字的方法
- python switch语句的多种实现方法
- C++实现英文句子中的单词逆序输出的方法
- 今日头条2017春招笔试题——所有查询句子中与给定段落单词匹配量最多的句子
- Python笔试题目:求最大的K个数子,解法一,最快速实现的方法
- 名企笔试:好未来2017秋招笔试:(倒置字符串)
- leetcode练习(204) 多种方法求质数 python实现
- 网易2017内推笔试2:两种排序方法 [python]
- 运用Python实现多种排序的方法
- 2017中兴笔试python实现(一种通信规则)
- 实现句子内单词倒置
- python实现将英文单词表示的数字转换成阿拉伯数字的方法
- Java实现英文句子中的单词顺序逆序输出的方法
- Visual C++中Tab View的多种实现方法
- py单词翻译小工具(python抓取html实现)
- 用CSS实现下拉菜单的多种方法