zoukankan      html  css  js  c++  java
  • 第四次作业

    1、英文歌词词频统计:

    读取文件、提取字符串、文件预处理

    #读取文件
    f=open('enwords.txt','r',encoding='utf-8')
    Str_some=f.read()
    f.close()
    print(Str_some)
    #对文件进行预处理
    #把全部的字母变成小写
    Str_some=Str_some.lower()
    print(Str_some)
    #标点符号以及特殊符号的处理
    s1='''. , = ? ' '''
    for i in s1:
        Str_some=Str_some.replace(i,' ')
        print(Str_some)

    提取分词单词list

    ##提取单词变成list
    Str_list=Str_some.split()
    print(len(Str_list),Str_list)

    单词计算字典set、dict

    #把单词变成集合的形式
    Str_set=set(Str_list)
    print(len(Str_set),Str_set)
    #变成字典形式
    StrDict={}
    for word in Str_set:
        StrDict[word]=Str_list.count(word)
    print(len(StrDict),StrDict)

    按词频排序

    #按词频排序
    S_list=list(StrDict.items())
    print(S_list)
    S_list.sort(key=lambda x:x[1],reverse=True)
    print(S_list)

    排除语法词汇,输出top20

    ##按词频排序
    S_list=list(StrDict.items())
    # print(S_list)
    S_list.sort(key=lambda x:x[1],reverse=True)
    # print(S_list)
    ###排除语法词汇的定冠词
    Str_set=set(Str_list)
    exclude={'a','the','and','i','you','it'}
    print(Str_set-exclude)
    ##输出Top20
    for i in range(20):
       print(S_list[i])

    中文小说词频统计;

    import jieba
    #读取文件
    f1=open('xiaoshuo.txt','r',encoding='utf-8')
    S1=f1.read().strip()
    #print(S1)
    f1.close()
    #对中文的标点符号进行处理:
    s1=''',!?。:“ ” ' '''
    for i in s1:
        S1=S1.replace(i,' ')
    #print(S1.strip())
    S1_list=list(jieba.cut(S1))
    #对一个字的进行处理
    S1_Dict={}
    for word in S1_list:
        if len(word) == 1:
            continue
        else:
            S1_Dict[word]=S1_Dict.get(word,0)+1
    print(S1_Dict)
    #按词频排序
    S_list=list(S1_Dict)
    S_list.sort(key=lambda x: x[1], reverse=True)
    print(S_list)
    #输出前20个
    for i in range(20):
            print(S_list[i])

     

  • 相关阅读:
    POJ 3278 Catch That Cow(BFS)
    POJ 2488 A Knight's Journey(DFS)
    POJ 2386 Lake Counting(DFS)
    迷宫问题(BFS)
    两点(DFS)
    POJ 1001 Exponentiation(大数运算)
    Java IO流01-总叙
    hdu 2065 "红色病毒"问题(快速幂求模)
    POJ 2251 Dungeon Master(BFS)
    POJ 1321 棋盘问题(DFS)
  • 原文地址:https://www.cnblogs.com/zxcv11/p/9715481.html
Copyright © 2011-2022 走看看