2012-01-04 13 views

Respuesta

9

Esto es bastante sencillo gracias al hecho de que pueda añadir y/o multiplicar listas:

L += [4] * 10 

Aquí está la prueba:

>>> 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, si va a usar este código para algo más que solo ints o floats (por ejemplo, listas, dicts o sus propias clases), hay algo ** muy importante ** que debe saber: ' * 'el operador creará una lista del ** mismo objeto ** repetido n veces, por lo que si hace' L + = [MyClass()] * 10' todos esos elementos harían referencia al mismo objeto, por lo que si modifica uno de ellos, los estarás modificando a todos. – juliomalegria

+0

@ julio.alegria: estoy totalmente de acuerdo con eso, buen punto. – Tadeck

2
L.extend([4] * 10) 

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

La segunda línea no funciona para 'some_mutable_object', solo para' some_expression_that_returns_or_creates_a_mutable_object() '. De lo contrario, solo obtendrá 10 referencias al mismo objeto. – Ben

+0

Perdón por la conversación revisionista. Accidentalmente publiqué ese comentario antes de hacerlo, así que volví y lo terminé, pero para entonces ya habías respondido a la versión inicial. – Ben

Cuestiones relacionadas