Was ist der Unterschied zwischen list [-1:] [0] und list [len (list) -1]?

7

Damit Sie nicht das letzte Element einer Python-Liste haben wollen: Was ist der Unterschied zwischen

? %Vor%

und

%Vor%

Ich dachte, es gäbe keinen Unterschied, aber dann habe ich das versucht

%Vor%

Ich war ein wenig überrascht ...

    
c0m4 25.03.2009, 11:11
quelle

3 Antworten

14

Wenn Sie slicing [-1:] verwenden, ist die zurückgegebene Liste eine flache Kopie, keine Referenz. So ändert [-1:] [0] die neue Liste. [len (list) -1] ist ein Verweis auf das letzte Objekt.

    
nothrow 25.03.2009, 11:15
quelle
9

list[-1:] erstellt eine neue Liste. Um das gleiche Verhalten wie list[len(list)-1] zu erhalten, müsste es eine Art list anzeigen, aber wie gesagt, es wird eine neue temporäre Liste erstellt. Sie fahren dann fort, die temporäre Liste zu bearbeiten.

Wie auch immer, Sie wissen, dass Sie list[-1] für die gleiche Sache verwenden können, richtig?

    
Magnus Hoff 25.03.2009 11:17
quelle
3

Slicing erstellt eine Kopie (flache Kopie). Es wird oft als oberflächliche Kopie Idiom verwendet.

d. h.

%Vor%

entspricht

%Vor%     
vartec 25.03.2009 11:34
quelle

Tags und Links