2
respostas

Verificando se um item se encontra em uma lista ou uma de suas sublistas

Sobre a dúvida do colega que perguntou sobre verificar a existência de um determinado item em uma sublista, o instrutor sugeriu o uso de um laço for para fazer a varredura. Baseado nisso, eu fiz uma função para executar esse loop:

def verifica_elemento_em_sublistas (item, lista):
  if item in lista:
    return True                     # Se achar o item na lista, retorna Verdadeiro e encerra a função
  else:
    for elemento in lista:          # Varre a a lista, analisando cada elemento
      if type (elemento) == list:   # Verifica se o elemento analisado é uma sublista
        if item in elemento:        # Se o elemento for uma sublista, verifica se o item está dentro dela
          return True               # Retorna Verdadeiro se encontrar o item dentro da sublista
    return False                    # Se chegou até aqui e não achou o item nos elementos da lista, nem nas suas sublistas, então retorna Falso

Usando a função acima, podemos verificar se a string 'Rodas de liga' está dentro da lista Carro_1, por exemplo:

verifica_elemento_em_sublistas ('Rodas de liga',Carro_1)

Nesse caso a função retorna True. Observem que se eu usasse o comando abaixo, o resultado seria False, porque a string 'Roda de liga' está em uma lista dentro da lista Carro_1:

'Rodas de liga' in Carro_1

Porém essa função que eu defini tem uma limitação, pois se houver outra sublista dentro de uma sublista (momento Inception! :-P), a função não será capaz de achar o item.

2 respostas

Só complementando a discussão, tive a idéia de usar o ChatGPT pra me ajudar com essa questão. A solução fornecida pelo bot foi surpreendentemente satisfatória, inclusive utilizando recursividade e explicando textualmente o funcionamento da função. Segue o print:

Captura de uma tela do chatGPT contendo uma solicitação do usuário para criar uma função e a resposta do bot com a função em Python

Olá Matheus, tudo bem com você?

Usar o ChatGPT como auxiliador para resolver problemas de programação é um recurso extremamente útil. A solução que ele propôs resolve o problema e fez sentido para o contexto que você estava aplicando.

Aqui na Alura, temos alguns cursos de dados voltados para inteligência artificial, no qual também ensina sobre melhores práticas de uso do ChatGPT para que ele seja um suporte no nosso dia a dia como devolvedor de código, deixo abaixo o link dos cursos caso queira conhecer:

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!