Zoeken…


Lijsten in lijsten

Een goede manier om een 2D-array te visualiseren is als een lijst met lijsten. Iets zoals dit:

lst=[[1,2,3],[4,5,6],[7,8,9]]

hier de buitenste lijst lst heeft drie dingen in. elk van die dingen is een andere lijst: de eerste is: [1,2,3] , de tweede is: [4,5,6] en de derde is: [7,8,9] . U kunt deze lijsten op dezelfde manier openen als een ander ander element van een lijst, zoals dit:

print (lst[0])
#output: [1, 2, 3]

print (lst[1])
#output: [4, 5, 6]

print (lst[2])
#output: [7, 8, 9]

Je hebt dan op dezelfde manier toegang tot de verschillende elementen in elk van die lijsten:

print (lst[0][0])
#output: 1 

print (lst[0][1])
#output: 2 

Hier betekent het eerste cijfer tussen de [] haakjes dat de lijst op die positie komt. In het bovenstaande voorbeeld hebben we het getal 0 gebruikt om de lijst op de 0e positie te krijgen, namelijk [1,2,3] . De tweede set [] haakjes betekent dat het item op die positie uit de binnenlijst komt. In dit geval hebben we zowel 0 als 1 De 0e positie in de lijst die we hebben is nummer 1 en op de 1e positie is dit 2

U kunt ook waarden in deze lijsten op dezelfde manier instellen:

lst[0]=[10,11,12]

Nu is de lijst [[10,11,12],[4,5,6],[7,8,9]] . In dit voorbeeld hebben we de hele eerste lijst gewijzigd in een volledig nieuwe lijst.

lst[1][2]=15

Nu is de lijst [[10,11,12],[4,5,15],[7,8,9]] . In dit voorbeeld hebben we een enkel element binnen een van de binnenlijsten gewijzigd. Eerst gingen we naar de lijst op positie 1 en veranderden het element erin op positie 2, dat was 6 nu is het 15.

Lijsten in lijsten in lijsten in ...

Dit gedrag kan worden uitgebreid. Hier is een driedimensionale array:

[[[111,112,113],[121,122,123],[131,132,133]],[[211,212,213],[221,222,223],[231,232,233]],[[311,312,313],[321,322,323],[331,332,333]]]

Zoals waarschijnlijk duidelijk is, wordt dit een beetje moeilijk te lezen. Gebruik backslashes om de verschillende dimensies te splitsen:

[[[111,112,113],[121,122,123],[131,132,133]],\
 [[211,212,213],[221,222,223],[231,232,233]],\
 [[311,312,313],[321,322,323],[331,332,333]]]

Door de lijsten op deze manier te nesten, kunt u uitbreiden naar willekeurig hoge dimensies.

Toegang is vergelijkbaar met 2D-arrays:

print(myarray)
print(myarray[1])
print(myarray[2][1])
print(myarray[1][0][2])
etc.

En bewerken is ook vergelijkbaar:

myarray[1]=new_n-1_d_list
myarray[2][1]=new_n-2_d_list
myarray[1][0][2]=new_n-3_d_list #or a single number if you're dealing with 3D arrays
etc.


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow