Recursos-LCC

Um arquivo de todo material que consegui reunir, pertinente ao curso de LCC da UM.

View on GitHub

LA2 | Treino 1 | Frequência


'''
Neste problem pretende-se que defina uma função que, dada uma string com palavras, 
devolva uma lista com as palavras nela contidas ordenada por ordem de frequência,
da mais alta para a mais baixa. Palavras com a mesma frequência devem ser listadas 
por ordem alfabética.
'''

def frequencia(texto):
    freq = {}
    for pal in texto.split():
        if pal not in freq.keys():
            freq[pal] = 1
        else:
            freq[pal] += 1
    
    result = [a for a,b in sorted(freq.items(), key = lambda x: (-x[1], x[0]))]
    return result


Testes

# 1
texto = "o tempo perguntou ao tempo quanto tempo o tempo tem"
> Resultado = ['tempo','o','ao','perguntou','quanto','tem']

# 2
texto = "ola"
> Resultado = ['ola']

retroceder