El operador de concatenación +
es un operador infijo binario que, cuando se aplica a listas, devuelve una nueva lista que contiene todos los elementos de cada uno de sus dos operandos. El list.append()
método es un mutator
en el list
que agrega su único object
argumento (en su ejemplo específico, la lista c
) al tema list
. En su ejemplo, esto da como resultado que se c
agregue una referencia a sí mismo (de ahí la recursividad infinita).
Una alternativa a la concatenación '+'
El list.extend()
método es también un método mutador que concatena su sequence
argumento con el sujeto list
. Específicamente, agrega cada uno de los elementos de sequence
en orden de iteración.
Un aparte
Al ser un operador, +
devuelve el resultado de la expresión como un nuevo valor. Al ser un mutator
método no encadenado , list.extend()
modifica la lista de temas en el lugar y no devuelve nada.
Matrices
Agregué esto debido a la posible confusión que la respuesta de Abel anterior puede causar al mezclar la discusión de listas, secuencias y matrices.
Arrays
se agregaron a Python después de las secuencias y listas, como una forma más eficiente de almacenar matrices de tipos de datos integrales. No confunda arrays
con lists
. Ellos no son los mismos.
De los documentos de la matriz :
Las matrices son tipos de secuencia y se comportan de manera muy parecida a las listas, excepto que el tipo de objetos almacenados en ellas está restringido. El tipo se especifica en el momento de la creación del objeto mediante un código de tipo, que es un solo carácter.