计算机语言python单词,Python 的mapreduce 单词统计详解

此篇博客介绍了使用Python实现随机生成指定长度的单词列表,然后通过`wordcount`工具进行分词和计数,最后展示了如何对单词及其出现频率进行排序和输出。技术涉及字符串操作、文件I/O、迭代器以及Python内置的`collections`模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/usr/bin/env python

import random

# 'abc..z'

alphaStr = "".join(map(chr, range(97,123)))

fp = open("word.txt", "w")

maxIter = 100000

for i in range(maxIter):

word = ""

len =random.randint(1,5)

for j in range(len):

word + = alphaStr[random.randint(0,25)]

fp.write(word + '\n')

fp.close()

cat word.txt | ./wordcount_mapper.py | ./wordcount_reducer.py .

word count reduce, python

#filename: wordcount_reducer.py

from operator import itemgetter

import sys

wordcount = {}

for line in sys.stdin:

word, count = line.strip().split('\t',1)

try:

count = int(count)

wordcount[word] = wordcount.get(word,0) + count

except ValueError

pass

sorted_wordcount = sorted(wordcount.iterms(), key = itemgettter(0))

for word,count in sorted_wordcount:

print("%s\t%s") %(word, count)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值