Introducción
En Python, podemos fusionar dos o más listas en una sola lista utilizando varios métodos. Un método así es combinar los elementos de cada una de las listas de entrada según sus posiciones. En este desafío, tendrás la tarea de escribir una función que combine múltiples listas en una lista de listas.
Fusionar listas
Escribe una función llamada merge(*args, fill_value=None) que tome dos o más listas como argumentos y devuelva una lista de listas. La función debe combinar los elementos de cada una de las listas de entrada según sus posiciones. Si una lista es más corta que la lista más larga, la función debe utilizar fill_value para los elementos restantes. Si no se proporciona fill_value, debe ser el valor predeterminado None.
Tu tarea es implementar la función merge().
def merge(*args, fill_value = None):
max_length = max([len(lst) for lst in args])
result = []
for i in range(max_length):
result.append([
args[k][i] if i < len(args[k]) else fill_value for k in range(len(args))
])
return result
merge(['a', 'b'], [1, 2], [True, False]) ## [['a', 1, True], ['b', 2, False]]
merge(['a'], [1, 2], [True, False]) ## [['a', 1, True], [None, 2, False]]
merge(['a'], [1, 2], [True, False], fill_value = '_')
## [['a', 1, True], ['_', 2, False]]
Resumen
En este desafío, aprendiste cómo fusionar dos o más listas en una lista de listas en Python. También aprendiste cómo utilizar la función max(), la comprensión de listas y la función range() para resolver el problema. Recuerda utilizar el parámetro fill_value para llenar los valores faltantes en las listas más cortas.