Ho fatto un po 'di attenzione, ma non ho una risposta definitiva per il concetto che sto cercando di capire.Slice assegnazione con una stringa in un elenco
In Python, se prendo un elenco, come ad esempio:
L1=['muffins', 'brownies','cookies']
E poi tentato di sostituire il primo puntatore ad un oggetto nella lista, vale a dire 'muffin' utilizzando il codice:
L1[0:1] = 'cake'
vorrei avere una lista L1:
['c', 'a', 'k', 'e', 'brownies', 'cookies']
Eppure, se ho preso la stessa lista ed eseguita l'operazione (Ora con i 4 elementi della torta String):
L1[0:4] = ['cake'] # presumably, it's now passing the string cake within a list? (it passed into the modified list shown above)
ho l'uscita inizialmente ho desiderato:
['cake', 'brownies', 'cookies']
qualcuno può spiegare perché questo è, esattamente? Suppongo che quando prendo la torta inizialmente senza che sia in una "lista", essa spezza la stringa nei suoi singoli caratteri da memorizzare come riferimenti a quei caratteri rispetto a un singolo riferimento a una stringa ...
Ma non ne sono del tutto sicuro.
penso che la sua divertente che hai preso una fetta di torta :) – corn3lius
tuo ultimo esempio 'L1 [0: 4] = [ 'torta']' 'rendimenti [ 'torta']' per me, non '['cake', 'brownies', 'cookies']' su python 2.6. - Notate anche che poiché avete già 5 upvotes, apparentemente avete fatto una bella domanda :) – mgilson
Ah, l'ultimo esempio era rispetto al codice che era già stato modificato - come in, invece di usare: 'L1 = [ 'muffin', 'brownies', 'cookies'] ', stavo eseguendo l'ultimo esempio con' L1 = ['c', 'a', 'k', 'e', 'brownies', 'cookies'] ' . – Noc