Was macht [[]] * 2 in Python?

8
%Vor%

Erträge:

%Vor%

Man würde erwarten, dass die A-Liste die gleiche wie die B-Liste ist, dies ist nicht der Fall, beide append-Anweisungen wurden auf A [0] und A [1] angewendet.

Warum?

    
NorthIsUp 02.07.2010, 01:16
quelle

1 Antwort

16

A = [[]]*2 erstellt eine Liste mit 2 identischen Elementen: [[],[]] . Die Elemente sind genau die gleiche Liste. Also

%Vor%

hängt sowohl "a" als auch "b" an dieselbe Liste an.

B = [[], []] erstellt eine Liste mit zwei verschiedenen Elementen.

%Vor%

Dies zeigt, dass die zwei Elemente von A identisch sind:

%Vor%

Dies zeigt, dass die zwei Elemente von B verschiedene Objekte sind.

%Vor%     
unutbu 02.07.2010, 01:21
quelle

Tags und Links