Contagem
1.
def
my_count(item, lista):
2.
""" Número de ocorrências do item na lista."""
3.
conta
=
0
4.
for
elem
in
lista:
5.
if
elem
=
=
item:
6.
conta
=
conta
+
1
7.
return
conta
Inversão
01.
def
my_reverse(lista):
02.
"""Inverte os elementos de uma lista. Cria uma cópia."""
03.
return
lista[::
-
1
]
04.
05.
# - variante
06.
def
my_reverse_b(lista):
07.
"""Inverte os elementos de uma lista. Cria uma cópia."""
08.
aux
=
[]
09.
for
elem
in
lista:
10.
aux
=
[elem]
+
aux
11.
return
aux
Procura
01.
def
my_find(item,lista):
02.
for
i
in
range(len(lista)):
03.
if
lista[i]
=
=
item:
04.
return
i
05.
return
-
1
06.
07.
# Variante
08.
def
my_find_b(item,lista):
09.
for
ind, elem
in
enumerate(lista):
10.
if
elem
=
=
item:
11.
return
ind
12.
return
-
1
Insere
1.
def
my_insert(elem, pos,lista):
2.
""" Insere o elem na posição. Assume posição correcta."""
3.
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