我有一个 list

a = ["a", "b", "c"]

我想创建一个带有后缀(“_ind”)重复值的新列表。
["a", "a_ind", "b", "b_ind", "c", "c_ind"]

我知道可以使用以下函数( List with duplicated values and suffix )来实现
def duplicate(lst):
    for i in lst:
      yield i
      yield i + "_ind"

如何使用生成器表达式实现相同的功能?。我尝试使用以下代码,但它不起作用。
duplicate = (i i+'_ind' for i in a)

File "<stdin>", line 1
duplicate = (i i+'_ind' for i in a)
            ^
SyntaxError: invalid syntax

最佳答案


duplicate = (j for i in a for j in (i, i+'_ind'))

关于python - 使用生成器表达式返回多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46386835/

10-10 15:06