zoukankan      html  css  js  c++  java
  • 代码17

    此代码目的是统计3个文件中所有切分出来的词的词频,并按照词频从大到小的顺序写入另一个文件

    with open('/home/xbwang/Desktop/output_measures.txt','r') as f:
        with open('/home/xbwang/Desktop/output_measures2.txt','r') as f1:
            with open('/home/xbwang/Desktop/output_output_bk.txt','r') as f2:
                word_frequency = {}
                for line in f :
                    line = line.strip().split(' ')
                    for word in line:
                        if word in word_frequency:                      判断word是否在字典的键中
                            word_value = word_frequency.get(word)+1
                            word_frequency[word] = word_value                这里也可以使用word_frequency.update({word:word_value})         
                        else:
                            word_frequency.update({word:1})                 这里也可以使用word_frequency[word] = 1
    
                for line in f1 :
                    line = line.strip().split(' ')
                    for word in line:
                        if word in word_frequency:
                            word_value = word_frequency.get(word)+1
                            word_frequency[word] = word_value
                        else:
                            word_frequency.update({word:1})
    
                for line in f2 :
                    line = line.strip().split(' ')
                    for word in line:
                        if word in word_frequency:
                            word_value = word_frequency.get(word)+1
                            word_frequency[word] = word_value
                        else:
                            word_frequency.update({word:1})
    
    
    word_frequency = sorted(word_frequency.iteritems(), key=lambda A:A[1], reverse=True)      注意这里经过sorted排序后,返回的是一个列表,且列表元素为键值组成的,形如: (a,1)
    
    with open('/home/xbwang/Desktop/word_frequency.bk','a') as f3:
        for word in word_frequency:
            #print word
            #f3.write(word)
            word0 = word[0]
            word1 = word[1]
            #print word0
            #print word1
            #f3.write(word0+'        '+str(word_frequency.get(word))+'
    ')                原本没排序的写法可以直接写成f3.write(word+'  '+str(word_frequency.get(word))+'
    '),这就是一个典型的从字典中打印出键值的写法
            f3.write(word0+'    '+str(word1)+'
    ')
  • 相关阅读:
    HDU 1013 Digital Roots
    HDU 1290 献给杭电五十周年校庆的礼物
    几何分割问题
    HDU 1222 Wolf and Rabbit
    HDU 1997 汉诺塔VII
    HDU 1443 Joseph
    HTML的标题样式
    HDU 1568 Fibonacci
    Hope
    HDU 1071 The area
  • 原文地址:https://www.cnblogs.com/ymjyqsx/p/6554853.html
Copyright © 2011-2022 走看看