How to initialize a list and extend it with another list in one line?
本问题已经有最佳答案,请猛点这里访问。
这听起来是一个非常简单的问题,所以我很惊讶搜索没有产生任何结果:我想初始化一个常量列表,并用另一个源的列表扩展它。
这工作:
1 2 3  | remoteList = [2, 3, 4] myList = [0,1] myList.extend(remoteList)  | 
这意味着它给出了预期的结果:
1 2  | myList [0, 1, 2, 3, 4]  | 
但是,在一行中进行列表初始化不起作用,mylist未定义:
1 2  | remoteList = [2, 3, 4] myList = [0,1].extend(remoteList)  | 
有没有一种方法可以初始化列表并在一行中用另一个列表(以Python式方式)扩展它?为什么我的单行示例不起作用,或者至少生成某种列表?
您可以在列表文本中使用解包
1  | myList = [0, 1, *remoteList]  | 
这是Python3.5中提供的解包概括的一部分。
你不是在问有关
1 2 3 4 5 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()之间的差异
 
1 2 3  | a = [2,3,4] b = [1,2] + a # will add the other list print( b)  | 
输出:
1  | [1, 2, 2, 3, 4]  |