Erhalten Sie die Form einer Liste in Python
-
Verwenden Sie die Funktion
len()
, um die Form einer eindimensionalen Liste in Python zu erhalten -
Verwenden Sie List Comprehensions und die Funktion
len()
, um die Form von verschachtelten Listen in Python zu erhalten - Verwenden Sie NumPy, um die Form von mehrdimensionalen Listen in Python zu erhalten
- Verwenden Sie Rekursion, um die Form von unregelmäßig verschachtelten Listen in Python zu erhalten
- Fazit
Beim Arbeiten mit Datenstrukturen in Python ist das Verständnis der Form einer Liste besonders wichtig, insbesondere in Szenarien mit mehrdimensionalen oder verschachtelten Listen. Dieser Artikel untersucht verschiedene Methoden zur Bestimmung der Form einer Liste in Python, von einfachen eindimensionalen Listen bis hin zu komplexen mehrdimensionalen oder unregelmäßig verschachtelten Listen.
Verwenden Sie die Funktion len()
, um die Form einer eindimensionalen Liste in Python zu erhalten
Die einfachste Methode, die Form einer Liste in Python zu erhalten, besteht darin, die Funktion len()
zu verwenden. Sie liefert die Länge (Anzahl der Elemente) einer Liste und gibt somit die Größe der ersten Dimension an.
Die Funktion len()
hat eine einfache und prägnante Syntax:
len(object)
Das Objekt
ist das Objekt, für das Sie die Länge bestimmen möchten. Es kann eine Sequenz (wie eine Liste, ein Tupel oder ein String) oder eine Sammlung (wie ein Wörterbuch oder eine Menge) sein.
Das folgende Codebeispiel zeigt, wie wir die Methode len()
verwenden können, um die Form einer Liste in Python zu erhalten.
my_list = [1, 2, 3, 4, 5]
length = len(my_list)
print("Length of the list:", length)
Ausgabe:
Length of the list: 5
In diesem Beispiel wird die Länge der Liste my_list
berechnet und in die Konsole gedruckt.
Verwenden Sie List Comprehensions und die Funktion len()
, um die Form von verschachtelten Listen in Python zu erhalten
Zusätzlich zur Bestimmung der Länge einer flachen (1D) Liste können wir die Funktion len()
auch verwenden, um die Form von verschachtelten Listen (2D oder mehrdimensionale Listen) zu bestimmen.
Im folgenden Beispiel bestimmen wir die Anzahl der Zeilen und Spalten in einer verschachtelten 2D-Liste.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
num_rows = len(nested_list)
# Assuming all sublists have the same number of columns
num_cols = len(nested_list[0])
print(f"Number of rows: {num_rows}, Number of columns: {num_cols}")
Ausgabe:
Number of rows: 3, Number of columns: 3
Hier steht num_rows
für die Anzahl der Zeilen (Unterlisten) und num_cols
für die Anzahl der Spalten (Elemente in jeder Unterliste) in der verschachtelten Liste.
Verwenden Sie NumPy, um die Form von mehrdimensionalen Listen in Python zu erhalten
Wenn wir möchten, dass unser Code mit beliebigen mehrdimensionalen Listen funktioniert, können wir das Attribut .shape
von NumPy verwenden. Es gibt ein Tupel zurück, das die Anzahl der Elemente in jeder Dimension eines Arrays enthält.
Das NumPy-Paket wurde ursprünglich zum Arbeiten mit Arrays entwickelt, kann jedoch auch mit Listen funktionieren. NumPy ist ein externes Paket und wird nicht standardmäßig mit Python installiert, daher müssen wir es vor der Verwendung installieren.
Der Befehl zur Installation des Pakets NumPy
lautet wie folgt.
pip install numpy
Das folgende Codebeispiel zeigt, wie wir mithilfe von NumPy die Form einer mehrdimensionalen Liste erhalten können.
import numpy as np
my_array = np.array([[1, 2, 3], [4, 5, 6]])
num_rows, num_cols = my_array.shape
print(f"Number of rows: {num_rows}, Number of columns: {num_cols}")
Ausgabe:
Number of rows: 2, Number of columns: 3
Hier wird ein NumPy-Array my_array
erstellt und dann seine Form mit dem Attribut .shape
abgerufen. Diese Methode funktioniert nahtlos für mehrdimensionale Arrays und liefert sowohl die Anzahl der Zeilen als auch der Spalten.
Verwenden Sie Rekursion, um die Form von unregelmäßig verschachtelten Listen in Python zu erhalten
In einigen Fällen können wir auf unregelmäßig verschachtelte Listen stoßen, bei denen die Verschachtelungstiefe variiert und Unterlisten unterschiedliche Längen haben. Um solche Szenarien zu behandeln, können wir eine rekursive Funktion verwenden.
def get_shape(data):
if isinstance(data, list):
return [len(data)] + get_shape(data[0])
else:
return [] # Assuming leaf elements are considered as a single column
nested_list = [[1, 2], [3, 4, 5], [6, [7, 8]]]
shape = get_shape(nested_list)
num_rows, num_cols = shape
print(f"Number of rows: {num_rows}, Number of columns: {num_cols}")
Ausgabe:
Number of rows: 3, Number of columns: 2
Die Funktion get_shape()
navigiert rekursiv durch die verschachtelte Liste, indem sie die Anzahl der Zeilen in jeder Dimension zählt und davon ausgeht, dass Blattelemente als einzelne Spalte betrachtet werden. Dieser Ansatz liefert sowohl die Anzahl der Zeilen als auch der Spalten für unregelmäßig verschachtelte Listen.
Fazit
Der einfachste Ansatz, um die Form einer eindimensionalen Liste in Python zu erhalten, besteht darin, die Funktion len()
zu verwenden. Bei verschachtelten Listen können List Comprehensions in Verbindung mit der Funktion len()
helfen, die Anzahl der Zeilen und Spalten effektiv zu bestimmen.
Für fortgeschrittenere Szenarien mit mehrdimensionalen Arrays bietet das Attribut .shape
von NumPy eine bequeme Möglichkeit, die Anzahl der Zeilen und Spalten zu erhalten. Schließlich kann bei unregelmäßig verschachtelten Listen, bei denen Unterlisten unterschiedliche Tiefen und Längen haben, eine rekursive Funktion verwendet werden, um die Form genau zu bestimmen.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedInVerwandter Artikel - Python List
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert