Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um input em que o usuário pode inserir nomes de animais:
lista = []
animais = input('Nome do animal: ')
lista.append(animais)
Como faço para obter dessa lista os elementos que mais se repetem?
lista = ['gato', 'cobra', 'gato', 'coruja']
Saída:
gato
Porém, preciso contar essas ocorrências sem utilizar as funções disponíveis para listas como count, set, e etc.
Já busquei em vários fóruns alguma ajuda, pelo menos uma ideia de como começar o código, mas não achei nada que pudesse me ajudar.
A única forma que consigo pensar em fazer isso sem usar as funções "comuns", é a seguinte:
lista = ['gato', 'cobra', 'gato', 'coruja', 'gato', 'gato', 'cobra']
quantidade_ocorrencias = 0
item_com_maior_ocorrencia = ''
dicionario_items = {}
adiciona a quantidade de ocorrencias de cada item na lista
for item in lista: # se item não tiver no dicionario, adiciona if item not in dicionario_items: dicionario_items[item] = 0 # se item já tiver no dicionario, incrementa dicionario_items[item] += 1pega o elemento com maior ocorrência
for item in dicionario_items: # se ocorrência for maior que a anterior, atualiza if dicionario_items[item] > quantidade_ocorrencias: quantidade_ocorrencias = dicionario_items[item] item_com_maior_ocorrencia = itemprint(f'O item com maior ocorrência é {item_com_maior_ocorrencia} '
f'com {quantidade_ocorrencias} ocorrências.')