Contagem
def my_count(item, lista):
""" Número de ocorrências do item na lista."""
conta = 0
for elem in lista:
if elem == item:
conta = conta + 1
return conta
Inversão
def my_reverse(lista):
"""Inverte os elementos de uma lista. Cria uma cópia."""
return lista[::-1]
# - variante
def my_reverse_b(lista):
"""Inverte os elementos de uma lista. Cria uma cópia."""
aux = []
for elem in lista:
aux = [elem] + aux
return aux
Procura
def my_find(item,lista):
for i in range(len(lista)):
if lista[i] == item:
return i
return -1
# Variante
def my_find_b(item,lista):
for ind, elem in enumerate(lista):
if elem == item:
return ind
return -1
Insere
def my_insert(elem, pos,lista):
""" Insere o elem na posição. Assume posição correcta."""
return lista[:pos] + [elem] + lista[pos:]
Professor, penso que na função my_insert o return tenha que ser desta forma:
ResponderEliminarreturn lista[:pos] + elem + lista[pos:]
@Paulo Silva: não tem razão. A operação "+" com listas faz a concatenação (junção) de listas. Não faz de listas com elementos isolados. Experimente e veja a diferença.
ResponderEliminarTrata-se de uma lista e não de uma string. Peço desculpa pela confusão.
ResponderEliminar