zoukankan      html  css  js  c++  java
  • python练习题

    1、统计词频

    # 统计词频
    def words_count(str):
        str_list = str.replace('
    ','').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_list
    
    
    str_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

      

  • 相关阅读:
    GetClassLoader和GetCallerClass的使用
    Maven的生命周期和插件
    对象池原理简要描述
    Git x SVN rebase事故
    Git 二进制文件冲突解决
    Git x SVN 当前工作流程
    Laya 项目解耦
    Laya 利用JS进行反射
    Laya Tween 和 遮罩
    Laya Tween循环
  • 原文地址:https://www.cnblogs.com/ajiuna/p/9351977.html
Copyright © 2011-2022 走看看