Converter para Lista

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Em Python, por vezes precisamos converter um valor em uma lista. No entanto, se o valor já for uma lista, não queremos criar uma lista aninhada. Neste desafio, você criará uma função que recebe um valor e o retorna como uma lista, a menos que já seja uma lista ou outro iterável.

Converter para Lista

Escreva uma função cast_list(val) que recebe um valor como argumento e o retorna como uma lista. Se o valor já for uma lista, retorne-o como está. Se o valor não for uma lista, mas for iterável, retorne-o como uma lista. Se o valor não for iterável, retorne-o como uma lista de um único item.

def cast_list(val):
  return list(val) if isinstance(val, (tuple, list, set, dict)) else [val]
cast_list('foo') ## ['foo']
cast_list([1]) ## [1]
cast_list(('foo', 'bar')) ## ['foo', 'bar']

Resumo

Neste desafio, você aprendeu como criar uma função que converte um valor em uma lista se ele ainda não for uma lista ou outro iterável. Você usou isinstance() para verificar se o valor é iterável e o retornou usando list() ou o encapsulou em uma lista de acordo.