求救python题目!

用字符串方法做文本处理1:x=”Onlythosewhohavethepatiencetodosimplethingsperfectlyeveracquiretheski... 用字符串方法做文本处理
1:x=”Only those who have the patience to do simple things perfectly ever acquire the skill to do difficult things easily.”
2:y=”If you have great talents, industry will improve them; if you have but moderate abilities, industry will supply their deficiency.”
a:统计第一句英文中字符数量和单词数量,并给出单词to的索引;
b:将第二句中you换成someone;删除其中的if;
c:分别统计第一句中字符a, b, c, d, e, f, g的数量,并给出其中出现频率最高的字符;
e: 统计第一句中字符o出现的频数,以及占据字符串总长度的百分比;
f: 将第一句话转化为一个列表,每个单词为一个元素。
展开
 我来答
雁西楼
科技发烧友

2018-11-05 · 有一些普通的科技小锦囊
知道小有建树答主
回答量:1118
采纳率:73%
帮助的人:399万
展开全部

统计字数量可以用列表表达式:

sum([_ >= 'a' and _ <= 'z' for _ in x.lower()])

统计词数量可以直接将句子拆成词并计算长度:

len(x.split())

在循环中使用字符串的find方法即可得到所有'to'的位置:

i = x.find('to')
while i >= 0:
    print(i)
    i = x.find('to', i+1)

词的替换与删除使用re模块就好。

字频麻烦一点,可以参考词云中的词频统计的方式,以字典进行统计,然后再循环找最大的值就好:

d = {}
for _ in x:
    if _ in 'abcdefg':
        d[_] = d.get(_, 0) + 1
maxkey, maxcount = '', 0
for k, v in d.items():
    if v > maxcount:
        maxkey = k
        maxcount = v
print('"{}":{}'.format(maxkey,d[maxkey]))

至于任务e,处理办法和上面这段基本一样。

任务f,参见第二段代码。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式