将元组转换为列表的最 Pythonic 方法,在每个现有元素之后添加新元素

Spe*_*utz 1 python tuples list-comprehension iterable-unpacking

问题可能会令人困惑,所以这里有一个例子:

我想从一个 tuple like(a, b, c)到一个表单列表[a, 1, b, 1, c, 1]。什么是最 Pythonic 的方式来做到这一点?我尝试了类似的东西[*(x, 1) for x in list],然后才意识到您无法在列表理解中解包。做到这一点的最佳方法是什么?我已经搜索了一段时间,找不到任何有用的东西。

gil*_*lch 6

您可以在列表推导式中“解包”,但并非如此。使用另一个循环。

xs = (a, b, c)
[e for x in xs for e in (x, 1)]
Run Code Online (Sandbox Code Playgroud)