in

Python append () frente al operador + en las listas, ¿por qué dan resultados diferentes?

apple touch icon@2

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. los list.append() el método es un mutator sobre list que anexa su single object argumento (en su ejemplo específico, la lista c) al sujeto list. En su ejemplo, esto da como resultado c añadiendo una referencia a sí mismo (de ahí la recursividad infinita).

Una alternativa a la concatenación ‘+’

los list.extend() El método es también un método mutador que concatena sus sequence argumento con el sujeto list. Específicamente, agrega cada uno de los elementos de sequence en orden de iteración.

Un aparte

Ser operador + devuelve el resultado de la expresión como un nuevo valor. Siendo un no encadenado mutator método, 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 confundir arrays con lists. Ellos no son los mismos.

Desde el documentos de 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 el uso de un código de tipo, que es un solo carácter.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Método Java.lang.Byte.toString ()

Pp9rsvF6qTuZaYj5La63eV 1200 80

Los 15 juegos de PS3 más raros y valiosos: ¿tienes alguno de estos?