Hice un poco de examen, pero no tengo una respuesta definitiva para el concepto que trato de entender.Asignación de corte con una cadena en una lista
En Python, si tomo una lista, como por ejemplo:
L1=['muffins', 'brownies','cookies']
Y luego intentó reemplazar el primer puntero a un objeto en la lista, es decir, 'magdalenas' utilizando el código:
L1[0:1] = 'cake'
me gustaría obtener una lista L1:
['c', 'a', 'k', 'e', 'brownies', 'cookies']
Sin embargo, si tomara la misma lista y realiza la operación (Ahora con los 4 elementos de la cadena de la torta):
L1[0:4] = ['cake'] # presumably, it's now passing the string cake within a list? (it passed into the modified list shown above)
consigo la salida que inicialmente deseaba:
['cake', 'brownies', 'cookies']
Puede alguien explicar por qué, exactamente? Supongo que cuando tomo la torta inicialmente sin que esté en una "lista", la cadena se divide en sus caracteres individuales para almacenar como referencias a esos caracteres en lugar de una sola referencia a una cadena ...
Pero no estoy del todo seguro.
creo que es divertido que tomó un trozo de tarta :) – corn3lius
su último ejemplo 'L1 [0: 4] = [ 'pastel']' 'rendimientos [ 'pastel']' para mí, no '['cake', 'brownies', 'cookies']' en python 2.6. - También tenga en cuenta que ya que tiene 5 votos positivos, al parecer, hizo una muy buena pregunta :) – mgilson
Ah, el último ejemplo fue con respecto al código que ya se había modificado - como en, en lugar de usar: 'L1 = [ 'muffins', 'brownies', 'cookies'] ', estaba realizando el último ejemplo con' L1 = ['c', 'a', 'k', 'e', 'brownies', 'cookies'] ' . – Noc