Esvaziando os valores

Published by Luis Pereira in

Dada uma lista de valores, retorne uma lista com cada valor substituído pelo valor vazio do mesmo tipo.

Mais especificamente:

  • Substitua os inteiros (por exemplo, 1, 3), cujo tipo é int, por 0
  • Substitua os números de ponto flutuante (por exemplo, 3.14, 2.17), cujo tipo é float, por 0.0
  • Substitua as strings (por exemplo, "abcde", "x"), cujo tipo é str, por ""
  • Substitua os booleanos (True, False), cujo tipo é bool, por False
  • Substitua as listas (por exemplo, [1, "a", 5], [[4]]), cujo tipo é list, por []
  • Substitua as tuplas (por exemplo, (1,9,0), (2,)), cujo tipo é tuple, por ()
  • Substitua os conjuntos (por exemplo, {0,"a"}, {"b"}), cujo tipo é set, por set()
    • Atenção: o Python interpreta {} como o dicionário vazio, não como o conjunto vazio.
  • None, cujo tipo é NoneType, é preservado como None

Exemplos

empty_values([1, 2, 3]) ➞ [0, 0, 0]

empty_values([7, 3.14, "cat"]) ➞ [0, 0.0, ""]

empty_values([[1, 2, 3], (1,2,3), {1,2,3}]) ➞ [[], (), set()]

empty_values([[7, 3.14, "cat"]]) ➞ [[]]

empty_values([None]) ➞ [None]

Observações

None é o único que possui o NoneType especial.