如何初始化列表并将其与另一个列表一行扩展?

时间:2018-01-03 23:24:28

标签: python python-3.x

这听起来像一个非常简单的问题,所以我很惊讶搜索没有产生任何结果:我想初始化一个常量列表并用另一个源列表扩展它。

这有效:

remoteList = [2, 3, 4]
myList = [0,1]
myList.extend(remoteList)

这意味着它给出了预期的结果:

myList
[0, 1, 2, 3, 4]

但是,在一行中执行列表初始化不起作用,myList未定义:

remoteList = [2, 3, 4]
myList = [0,1].extend(remoteList)

有没有办法初始化列表并用另一个列表(以pythonic方式)在一行中扩展它?为什么我的一行示例不起作用,或至少产生某种列表?

3 个答案:

答案 0 :(得分:9)

您可以在列表文字

中使用解包
myList = [0, 1, *remoteList]

这是Python 3.5中提供的unpacking generalizations的一部分

答案 1 :(得分:6)

您是不是只询问+ 列表连接操作:

In [1]: remoteList = [2, 3, 4]

In [2]: myList = [0, 1] + remoteList

In [3]: myList
Out[3]: [0, 1, 2, 3, 4]

适用于Python 2和3。

“extend”和“plus”之间存在一些细微差别:

答案 2 :(得分:0)

a = [2,3,4]
b = [1,2] + a  # will add the other list
print( b)

输出:

[1, 2, 2, 3, 4]