合并序列的生成器存在问题

我正在研究python中生成器的主题,无法处理一项任务。

关键是:您需要实现一个生成器,该生成器采用2个非下降序列,将其组合为1个非下降序列并返回。

我知道如何用函数编写它,但是我不知道如何通过“ yield”实现它。

这是我的函数的代码:

def merge_lists(lst1, lst2):
    res = []
    i1, i2 = 0, 0
    while i1 < len(lst1) and i2 < len(lst2):
        el1, el2 = lst1[i1], lst2[i2]
        res.append(el1)
        i1 += 1
        res.append(el2)
        i2 += 1
    res.extend(lst1[i1:])
    res.extend(lst2[i2:])
    return res

我将很高兴在编写代码和解释解决方案方面获得帮助。