5.7 题解

将列表中的字符串类型转为数字类型

import collections
import copy
s = "我/是/一个/测试/句子/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/重要/事情/说/三遍/!/"
s_list = s.split('/') 
# 为避免迭代时修改迭代对象本身,创建一个列表的深拷贝,也可用浅拷贝s_list_backup = s_list[:]
s_list_backup = copy.deepcopy(s_list)
[s_list.remove(item) for item in s_list_backup if item in ',。!”“']
collections.Counter(s_list)

Counter({'我': 4,
         '是': 1,
         '一个': 1,
         '测试': 1,
         '句子': 1,
         '大家': 3,
         '赶快': 3,
         '来': 3,
         '统计': 3,
         '吧': 3,
         '重要': 1,
         '事情': 1,
         '说': 1,
         '三遍': 1})

上面已经把标点符号单独用/分出来了,但是在英文中,标点符号和前一个单词之间没有空格,就不能现split再去标点,需要先去标点再split成列表。

s = "Not clumsy person in this world, only lazy people, only people can not hold out until the last."
s = s.lower()
a = ''.join(c for c in s if c not in ',.')
s_list = a.split(' ') 

这个在本地的答案都是对的,但是交到oj上就报非0异常。

import collections
def countfeq(s):
    a = ''.join(c for c in s if c not in ',.')
    s_list = a.split(' ')     
    return collections.Counter(s_list)
    
if __name__ == "__main__":
    s = "Not clumsy person in this world, only lazy people, only people can not hold out until the last."
    s_dict = countfeq(s.lower())
    word = input()
    print(s_dict[word])

去掉字符串中的标点符号
快速计算词频

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 10,036评论 0 5
  • 第五章******************************************************...
    fastwe阅读 4,046评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,906评论 0 4
  • 让一段关系保持长久的方法就是你走你的路,我过我的桥。我们在各自的生活里忙碌,但是你要相信,总有一天我们会不期而遇,...
    唐缘不是汤圆儿阅读 2,915评论 6 2
  • 幸福是什么? 幸福是交完房租,还有生活费; 幸福是一顿可以吃两个鸡蛋; 幸福是早餐可以吃蛋黄肉粽,吮指原味鸡; 幸...
    蜚短流长小家子气阅读 2,662评论 0 0

友情链接更多精彩内容