2012-01-04 56 views

回答

9

这是非常简单的感谢事实上,你可以添加和/或乘法表:

L += [4] * 10 

这里是证明:

>>> L = [0,1,2,3] 
>>> L += [4] * 10 
>>> L 
[0, 1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] 
+3

@ user1123950,如果你打算将这段代码用于除了整数或浮点数(比如列表,字典,或者你自己的类)以外的东西,那么你必须知道一些非常重要的**:'' *'运算符将会重复n次创建**相同对象**的列表,所以如果您执行了'L + = [MyClass()] * 10',那么所有这些元素都会引用同一个对象,所以如果修改其中一个他们,你会修改所有的。 – juliomalegria 2012-01-04 04:33:08

+0

@ julio.alegria:我完全同意这一点,好点。 – Tadeck 2012-01-21 00:22:27

2
L.extend([4] * 10) 

L.extend([some_mutable_object for x in range(10)]) 
+1

第二行不适用于'some_mutable_object',只适用于'some_expression_that_returns_or_creates_a_mutable_object()'。否则,你仍然只能得到10个对同一个对象的引用。 – Ben 2012-01-04 05:29:09

+0

对不起修正主义者的谈话。我意外地意外发布了该评论,因此我回去完成了它,但到那时您已经对最初的版本做出了回应。 – Ben 2012-01-04 05:52:40

相关问题