❶ python 对一段英文文本整理
>>> s= "D-typed variables, Python; really?!! god's 'its "
>>> reg=re.compile(r"\w+[.,;'\"!?-]\w+|\w+|[.,;'\"!?-]")
>>> reg.findall(s)
['D-typed', 'variables', ',', 'Python', ';', 'really', '?', '!', '!', "god's", "'", 'its']
>>>
❷ 电脑在下载一个python 3.7可以将原来的python覆盖掉吗
不能覆盖。会安装一个新版本的Python。
❸ python如果含有两个相同字母,如何将其中一个替换成其他字符
采取的算法是:将第一和除其之外的每个字母对比,相同即记下替换后的word,依次下推(第二和第三、第四。。。),逐个修改映射list
#coding:utf8
if__name__=='__main__':
words=['school','google','getfileinfo','cherrypy','pypy']
printwords
tmps=words #映射list,存放替换大小写后的list
index=0 #list遍历到第几个了
forwdsinwords: #遍历words
i=0 #记录list下的每个word长度
j=0 #记录每个word有几个相同的字母数
#下面采取的算法是:将第一和除其之外的每个字母对比,相同即记下替换后的word,依次下推(第二和第三、第四。。。),逐个修改映射list:tmps
forwd_ainwds[i:]:
forwd_binwds[i+1:]:
ifwd_a==wd_b:
#printwds,wd_a.upper()
j+=1
ifj>1: #相同字母超过一个的,需要沿用之前修改好的word,否则最后记录的将是最后一个相同字母转大写的word
tmp=tmp.replace(wd_a,wd_a.upper(),1)
else:
tmp=wds.replace(wd_a,wd_a.upper(),1)
#printtmp
tmps[index]=tmp #修改映射list:tmps
i+=1
index+=1
printtmps
运行结果:
['school', 'google', 'getfileinfo', 'cherrypy', 'pypy']
['schOol', 'GOogle', 'gEtFIleinfo', 'cheRrYpy', 'PYpy']
算法二:
#coding:utf8
if__name__=='__main__':
words=['school','google','getfileinfo','cherrypy','pypy']
printwords
tmps=words #映射list,存放替换大小写后的list
#算法二
#下面采取的算法是:先将单词序列化,然后排序,接着采取两两相比较,减少比较次数,同时遇到相同字母的就跳到下一组对比
index=0
forwordinwords:
letters=[]
forwdinword:
letters.append(wd)
letters.sort()
#printletters
j=0
flag=False
foriinrange(len(letters)-1):
ifflag:
flag=False #重置跳过标记
continue #第一和第二位字母相同,那就没必要再比较第二和第三位字母了,直接跳过比较第三和第四位字母
#printletters[i],letters[i+1]
ifletters[i]==letters[i+1]:
j+=1
ifj>1:
tmp=tmp.replace(letters[i],letters[i].upper(),1)
else:
tmp=word.replace(letters[i],letters[i].upper(),1)
#printtmp
tmps[index]=tmp
flag=True #jumpflag
index+=1
printtmps
测试了下运行时间,words在145个时,运行时间对比:
Time2: 0.0160000324249
Time2: 0.0150001049042
Time2: 0.0149998664856
Time1: 0.0160000324249
Time1: 0.0159997940063
Time1: 0.0150001049042
可见算法二的最少运行时间比算法一少,要快
❹ python怎么实现单词反转字符串
Python
的切片功能实际上比很多程序员认为的更强大。
a
=
m
[
0
:
100
:
10
]
#
带步进的切片(步进值=10)
注意:步进值为step
当step
>
0
时
切片从
start(含start)处开始,到end(不含end)处结束,**从左往右**,每隔(step-1)(索引之间的差仍为step,但相隔的元素是step-1个)个元素进行一次截取。
这时,start
指向的位置应该在end指向的位置的左边,否则返回值为空
当step
<
0
时
切片从
start(含start)处开始,到end(不含end)处结束,**从右往左**,每隔(step-1)(索引之间的差仍为step,但相隔的元素是step-1个)个元素进行一次截取。
这时,start
指向的位置应该在end指向的位置的右边,否则返回值为空
❺ 如何用Python将一句话中一个单词前后的两个单词提取出来
可以用正则或者转化成列表后定位five的位置,然后切片取前后两个元素即可
❻ python把一个字符串里的单词逐个拿出来
可以用遍历的方法。
string = input('请输入一个单词:')
str_list = list(string) #这里将输入的单词转换为一个数组
for i in str_list: #遍历数组
print(i, end=' ')
❼ python中,从一个单词中找出特定的字母(字母有重复)
a = "banana"
if 'a' in a:
b = a.replace('a', 'b')
print b
❽ 正式re如何匹配一次或多次,如 python(.*)python ,如何匹配这串单词的1次或多次
❾ python中怎么把一个单词的首字母移动到最后一位
代码如下:
❿ 请问各位Python如何在一个单词里替换多个项目需要python语言哦。
题主没有明确给出输入数据的格式,这里只给出核心的函数:
设变量s就是要处理的字符串,则:
s1
=
s.replace('#',
'A');
就可以了