Skip to content

Instantly share code, notes, and snippets.

@arthuralvim
Created April 13, 2015 13:59
Show Gist options
  • Select an option

  • Save arthuralvim/970f82aae2464be37242 to your computer and use it in GitHub Desktop.

Select an option

Save arthuralvim/970f82aae2464be37242 to your computer and use it in GitHub Desktop.
Uma palavra (uma cadeia de caracteres, ou string) s1 é prefixo de uma outra palavra s2, se as primeiras letras de s2 formam a palavra s1. Por exemplo ’ti’ é prefixo de ’tia’, mas não é de ’Tinha’. Por outro lado, a palavra vazia ’’ é prefixo de todas as palavras. Considere o seguinte texto. texto = ’Tinha tanta tia tantã Tinha tanta anta antiga …
# -*- coding: utf-8 -*-
from collections import Counter
texto = 'Tinha tanta tia tantã Tinha tanta anta antiga, Tinha tanta anta que era tia Tinha tanta tia que era anta'
class ContadorPrefixos(object):
def __init__(self, prefixos, corpus):
self.prefixos = prefixos
self.corpus = corpus
def pre_process_corpus(self):
return self.corpus.split()
def count_prefix(self):
count_list = []
for pre in self.prefixos:
for cor in self.pre_process_corpus():
if cor.startswith(pre) or pre == '':
count_list.append(pre)
return Counter(count_list)
ctp = ContadorPrefixos(['t', '', 'ta'], texto)
ctp.count_prefix()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment