Há a possibilidade de criar estas listas separadas a partir de uma, olhando o tipo de elemento da lista?
Se for String, ir para a lista de nomes e se for int ou flout, ir para a de notas?
Estou tentando criar este laço mas não estou conseguindo.
Há a possibilidade de criar estas listas separadas a partir de uma, olhando o tipo de elemento da lista?
Se for String, ir para a lista de nomes e se for int ou flout, ir para a de notas?
Estou tentando criar este laço mas não estou conseguindo.
Oi, Filipe, tudo bem?
Sim, é possível criar as listas separadas a partir de uma, olhando o tipo de elemento da lista. Você pode usar a função isinstance()
do Python para verificar o tipo de cada elemento. Suponha que eu tenho uma lista com notas de alguns alunos e quero separar os nomes das notas:
notas_turma = ['João', 8.0, 9.0, 10.0, 'Maria', 9.0, 7.0, 6.0, 'José', 3.4, 7.0, 7.0, 'Cláudia', 5.5, 6.6, 8.0, 'Ana', 6.0, 10.0, 9.5]
Agora, vamos criar duas listas vazias, uma para os nomes e outra para as notas:
nomes = []
notas = []
Em seguida, vamos percorrer a lista notas_turma
e verificar o tipo de cada elemento. Se for uma string, adicionamos na lista de nomes, se for um número (int ou float), adicionamos na lista de notas:
for elemento in notas_turma:
if isinstance(elemento, str):
nomes.append(elemento)
elif isinstance(elemento, (int, float)):
notas.append(elemento)
No final, teremos duas listas separadas, uma com os nomes e outra com as notas.
Espero ter ajudado. Caso tenha dúvidas, não hesite em postar no fórum!
Abraços!