首页 > 解决方案 > 声明列表时的Python扩展列表

问题描述

在Javascript中,我可以做这样的事情

let list = [1, 2, 3]
let list2 = [4, 5, 6, ...list]

结果列表将是 [4,5,6,1,2,3]

有没有办法在 Python 中执行此操作而无需在声明列表后调用extend()或使用?+=

标签: python

解决方案


PEP 448的附加解包概括(在 Python 3.5 中添加)允许使用以下语法:

list2 = [4, 5, 6, *list]

第一个的元素一个接一个list地被解包,按照它们在原始文件中出现的顺序list

在 3.5 之前,最好的解决方案是:

list2 = [4, 5, 6] + list

这仍然是一个单行,但必须先构建临时list,然后将它们连接起来并丢弃临时。


推荐阅读