博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python练习题
阅读量:4557 次
发布时间:2019-06-08

本文共 916 字,大约阅读时间需要 3 分钟。

1、统计词频

# 统计词频def words_count(str):    str_list = str.replace('\n','').lower().split(' ')    count_dict = {}    # 如果字典里已经存在这个单词,则count+1    # 如果没有则放入字典    for str in str_list:        if str in count_dict.keys():            count_dict[str] = count_dict[str] + 1        else:            count_dict[str] = 1    count_list = sorted(count_dict.items(),key=lambda x:x[1],reverse=True)    return count_liststr_txt =  """hello world hello"""print(words_count(str_txt))

#注意用split切割的时候 不要忘记加空格

#否则会报错ValueError: empty separator

 

#正确运行的结果

[('hello', 2), ('world', 1)]

 

 2、类装饰器

首先要知道__init__方法的执行是由创建对象触发的,而__call__方法的执行是由对象后加括号触发的。

class ClsDeco(object):    def __init__(self,fun):        self.fun = fun    def __call__(self, *args, **kwargs):        print('为函数添加额外的功能')        self.fun()@ClsDeco  # test = ClsDeco(test)def test():    print('test')test() # 运行结果

为函数添加额外的功能

test

  

 

转载于:https://www.cnblogs.com/ajiuna/p/9351977.html

你可能感兴趣的文章
20181227 新的目标
查看>>
HDFS写流程
查看>>
生产环境服务器环境搭建+ 项目发布
查看>>
js按条件分类json数组,并合计同组数据(一维转换为二维)
查看>>
Exp6 信息搜集与漏洞扫描
查看>>
redis4安装
查看>>
使用命令wsimport构建WebService客户端[转]
查看>>
第八遍:链接详解
查看>>
Qt5.5 使用smtp发邮件的各种坑
查看>>
js奇葩错误 字符串传递问题
查看>>
人之初,性本恶
查看>>
springboot 端口号
查看>>
使用AChartEngine画动态曲线图
查看>>
安卓项目五子棋代码详解(四)
查看>>
urllib 学习一
查看>>
bzoj4196 [Noi2015]软件包管理器——树链剖分
查看>>
kafka源码阅读环境搭建
查看>>
UI设计
查看>>
androidtab
查看>>
Windows Phone 自定义弹出框和 Toast 通知
查看>>