Введение
В Python иногда необходимо преобразовать значение в список. Однако, если значение уже является списком, мы не хотим создавать вложенный список. В этом испытании вы создадите функцию, которая принимает значение и возвращает его в виде списка, если оно не является уже списком или другим итерируемым объектом.
Преобразование в список
Напишите функцию cast_list(val), которая принимает значение в качестве аргумента и возвращает его в виде списка. Если значение уже является списком, возвращаем его без изменений. Если значение не является списком, но является итерируемым, возвращаем его в виде списка. Если значение не является итерируемым, возвращаем его в виде списка с одним элементом.
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']
Резюме
В этом испытании вы узнали, как создать функцию, которая преобразует значение в список, если оно не является уже списком или другим итерируемым объектом. Вы использовали isinstance() для проверки, является ли значение итерируемым, и возвратили его с использованием list() или заключили его в список соответственно.