Python:可以在列表声明中使用列表理解吗?

时间:2019-01-28 11:42:59

标签: python list list-comprehension

假设我有一个列表:

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

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

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

结果:

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

1 个答案:

答案 0 :(得分:3)

是的,通过拆星可以做到这一点。

考虑

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

由于[3, 4, 5],这会将*列表解压缩到外部列表中。

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


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"]