Имеется следующий генератор для слияния двух отсортированных последовательностей: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]
Какие ошибки или особенности имеет эта программа?
(Отметьте один правильный вариант ответа.)
Варианты ответа
генератор оставит за собой временный список, так как del происходит после yield
в последней строке каждый раз удаляется элемент из временного списка, а не из a1 или a2: генератор зациклится
генератор будет портить переданные ему списки
ошибок нет(Верный ответ)