首页 > 解决方案 > Python:是否可以在列表声明中使用列表推导?

问题描述

假设我有一个清单:

t = ["3", "4", "5"]

是否可以使用列表理解将此列表包含到另一个列表中?
IE:

t2 = ["1", "2", x for x in t, "6", "7"]

结果:

["1", "2", "3", "4", "5", "6", "7"]

标签: pythonlistlist-comprehension

解决方案


是的,这可以通过星型拆包实现。

考虑,

[1, 2, *[3, 4, 5], 6, 7]

由于. [3, 4, 5]_*

因此,您同样可以使用列表理解来代替它。


IE

t = ["3", "4", "5"]
t2 = ["1", "2", *[x for x in t], "6", "7"]
#["1", "2", "3", "4", "5", "6", "7"]

请注意,在 Python 版本中< 3.5,未实现可迭代解包。

因此,作为替代方案,您可以将基本连接与+运算符一起使用:

t2 = ["1", "2"] + [x for x in t] + ["6", "7"]

推荐阅读