Главная / Язык программирования Python / Имеется следующий генератор для слияния двух отсортированных последовательностей: def merge(a1, a2): a1 = list(a1) a2 = list(a2) while a1 or a2: if a1 and (not a2 or a1[0] < a2[0]): r = a1 else: r = a2 yield r[0] del r[0] Какие ошибки или особенности и

Имеется следующий генератор для слияния двух отсортированных последовательностей: def merge(a1, a2): a1 = list(a1) a2 = list(a2) while a1 or a2: if a1 and (not a2 or a1[0] < a2[0]): r = a1 else: r = a2 yield r[0] del r[0] Какие ошибки или особенности имеет эта программа?

вопрос

Правильный ответ:

в последней строке каждый раз удаляется элемент из временного списка, а не из a1 или a2: генератор зациклится
генератор оставит за собой временный список, так как del происходит после yield
генератор будет портить переданные ему списки
ошибок нет
Сложность вопроса
66
Сложность курса: Язык программирования Python
62
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Какой человек ищет данные вопросы интуит? Это же элементарно (я не ботан)
16 апр 2019
Аноним
Если бы не опубликованные ответы - я бы не решил c этими тестами интуит.
25 фев 2017
Оставить комментарий
Другие ответы на вопросы из темы интернет-технологии интуит.