[英]Python: is it possible to use list comprehension inside list declaration?
假設我有一個清單:
t = ["3", "4", "5"]
是否可以使用列表理解將此列表包含在另一個列表中?
即:
t2 = ["1", "2", x for x in t, "6", "7"]
結果:
["1", "2", "3", "4", "5", "6", "7"]
是的,這可以通過星形拆包來實現。
考慮,
[1, 2, *[3, 4, 5], 6, 7]
由於*
[3, 4, 5]
這會將[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"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.