栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Python计算N克

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Python计算N克

假设输入是一个包含空格的单词的字符串,例如

x = "a b c d"
可以使用以下函数(编辑:请参阅最后一个函数以获取更完整的解决方案):

def ngrams(input, n):    input = input.split(' ')    output = []    for i in range(len(input)-n+1):        output.append(input[i:i+n])    return outputngrams('a b c d', 2) # [['a', 'b'], ['b', 'c'], ['c', 'd']]

如果您希望将它们重新连接成字符串,则可以调用以下内容:

[' '.join(x) for x in ngrams('a b c d', 2)] # ['a b', 'b c', 'c d']

最后,这并不能将总和汇总,因此,如果输入为

'a a a a'
,则需要将它们累加为字典:

for g in (' '.join(x) for x in ngrams(input, 2)):    grams.setdefault(g, 0)    grams[g] += 1

将所有这些放到一个最终函数中可以得出:

def ngrams(input, n):   input = input.split(' ')   output = {}   for i in range(len(input)-n+1):       g = ' '.join(input[i:i+n])       output.setdefault(g, 0)       output[g] += 1    return outputngrams('a a a a', 2) # {'a a': 3}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637856.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号