您可以使其成为生成器:
def mygen(lst): for item in lst: yield item yield item + '_ind'>>> a = ['a','b','c']>>> list(mygen(a))['a', 'a_ind', 'b', 'b_ind', 'c', 'c_ind']
您也可以使用
itertools.product,
itertools.starmap或
itertools.chain嵌套式理解来做到这一点,但在大多数情况下,我希望使用一种易于理解的自定义生成器函数。
借助python3.3,您还可以使用“
yield from生成器委派”使这种优雅的解决方案更加简洁:
def mygen(lst): for item in lst: yield from (item, item + '_ind')



