Eine zweidimensionale Liste fügt andere Listen als Elemente der Liste in eine Liste ein, was eine Verschachtelung von Listen darstellt. Diejenigen, die mit C oder C++ vertraut sind, verstehen möglicherweise das Konzept von Arrays in Bibliotheken von Drittanbietern. Wenn wir Array-Methoden in Python verwenden möchten, ohne Plug-Ins von Drittanbietern zu installieren, müssen wir diese verwenden Eine zweidimensionale Liste.
Tatsächlich können die Elemente in der Liste jeden Datentyp haben. Schauen wir uns ein Beispiel an:
my_list=[[1,2,3,4,5],'dotcpp',{1,2,3,},('www','dotcpp','com')]print(my_list)
Die Ausgabe ist:
[[1,2,3,4,5],'dotcpp',{1,2,3},('www','dotcpp','com')]
Diese Liste enthält Listen, Zeichenfolgen, Mengen und Tupel. Wenn alle Elemente in einer Liste Listen sind, handelt es sich um unsere am häufigsten verwendete zweidimensionale Liste. Im Folgenden werden verschiedene Methoden zum Erstellen und Zugreifen auf zweidimensionale Listen vorgestellt.
Die direkte Erstellungsmethode besteht darin, den Listennamen direkt nach der Definition einzugeben. Definieren wir eine einfache kleine Tastatur, nämlich 1-9:
my_list=[[1,2,3],[4,5,6],[7,8,9]]print(my_list)
Die Ausgabe ist:
[[1,2,3],[4,5,6],[7,8,9]]
Wenn wir es verstehen, können wir es so verstehen:
Wie aus der Abbildung ersichtlich ist, entspricht my_list [0] [1,2,3]. Wenn wir also auf 1 zugreifen, sind die entsprechenden Koordinaten (0,0) und wir können über den Index darauf zugreifen, d. h. my_list[0][0], sein Wert entspricht 1, und auf andere Werte wird auf die gleiche Weise zugegriffen. Die Zugriffsmethode, die Element 9 entspricht, ist beispielsweise my_list[2][2].
Die Erstellung einer Liste kann auch mithilfe einer Schleife erfolgen, normalerweise mithilfe einer for-Schleife. Erstellen wir eine zweidimensionale 6*6-Liste. Der Code lautet wie folgt:
my_list=[]#Erstellen Sie zuerst eine Hauptliste foriinrange(6):#Durchlaufen Sie 6 Mal und erstellen Sie nacheinander eine neue Liste für jedes Element der Hauptliste. j=[]#Erstellen Sie zunächst eine neue Liste und fügen Sie sie der Hauptliste hinzu list my_list. append(j)forminrange(1,7):j.append(m)#Elemente zur Unterliste hinzufügen print(my_list)#Ausgabe
Die Ausgabe ist:
[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3, 4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]
Das eigentliche Ausgabeergebnis sollte in einer Zeile stehen, damit es für jedermann verständlich ist. Sie können auch versuchen, eine zweidimensionale Liste durch eine While-Schleife zu erstellen.
Zweidimensionale Listen können auch mithilfe von Listenverständnissen erstellt werden. Wir haben gerade im vorherigen Abschnitt Listenverständnisse gelernt, sodass wir diese Methode direkt verwenden können, um unseren Code zu vereinfachen.
Wir erstellen erneut eine zweidimensionale Liste mit sechs Zeilen und sechs Spalten. Der Code ist wie folgt:
my_list=[[iforiinrange(1,7)]forjinrange(1,7)]print(my_list)
Die Ausgabe ist:
[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3, 4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]
Diese Methode spart nicht nur Zeit, sondern optimiert auch den Code. Sie entspricht der Erstellung von 6 Listen in einer Schleife und der Zuweisung von 6 Werten. Diese werden schließlich in einer Liste platziert, um eine zweidimensionale Liste zu bilden.
Lassen Sie uns anhand eines Beispiels mehr erfahren.
Wir möchten eine 6*6-Liste erstellen und dann werden die darin enthaltenen Werte zufällig zwischen 1 und 100 ausgewählt. Der Code lautet wie folgt:
importrandom#random ist ein Modul in der Systembibliothek und kann jederzeit aufgerufen werden. my_list=[]#Erstellen Sie zuerst die Liste foriinrange(6):#Erstellen Sie 6 Listen in einer Schleife und fügen Sie sie in my_list j ein =[]my_list.appen d(j)forkinrange(6):c=random.randint(1,100)#Rufen Sie eine Zufallsmethode auf, um Zufallszahlen zu generieren, und weisen Sie cj.append(c) den Wert der generierten Zufallszahl zu.#Fügen Sie den Wert von c hinzu Zur Liste hinzufügen j print(my_list)
Die Ausgabe ist:
[[52,83,15,35,54,60],[17,61,77,99,60,50],[88,81,9,61,76,95],[21,52,20, 49,10,61],[94,81,48,27,80,9],[1,94,57,66,95,97]]
Die Idee dieser Frage steht im Einklang mit der zweiten Methode oben. Schüler, die sich nicht mit der Listenableitung auskennen, können diese Methode im Vergleich zum vorherigen Beispiel verwenden.
In Bezug auf die zweidimensionale Liste ist dies sehr wichtig für Schüler, die am Wettbewerb teilnehmen möchten. Unabhängig davon, ob Sie später auf das Labyrinthproblem oder das 2n-Königin-Problem stoßen, können Sie auf die Verwendung der zweidimensionalen Liste nicht verzichten Ich werde es hier kurz vorstellen. Als erstes Verständnis finden Sie in den folgenden Wettbewerbsfragen Erläuterungen zu diesen beiden Arten von Fragen. Natürlich können wir auch auf die zweidimensionale Liste eingehen.