Введение
В Python мы можем объединить два или более списков в один список с использованием различных методов. Одним из таких методов является объединение элементов из каждого входного списка на основе их позиций. В этом испытании вам будет поручено написать функцию, которая объединяет несколько списков в список списков.
Объединить списки
Напишите функцию под названием merge(*args, fill_value=None), которая принимает два или более списков в качестве аргументов и возвращает список списков. Функция должна объединять элементы из каждого входного списка на основе их позиций. Если список короче самого длинного списка, функция должна использовать fill_value для оставшихся элементов. Если fill_value не указан, по умолчанию должно быть None.
Ваша задача — реализовать функцию 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]]
Резюме
В этом испытании вы узнали, как объединить два или более списков в список списков в Python. Вы также узнали, как использовать функцию max(), списочное выражение и функцию range() для решения задачи. Не забудьте использовать параметр fill_value для заполнения пропущенных значений в более коротких списках.