Erhalten Sie die Form einer Liste in Python

Muhammad Maisam Abbas 19 September 2023
  1. Verwenden Sie die Funktion len(), um die Form einer eindimensionalen Liste in Python zu erhalten
  2. Verwenden Sie List Comprehensions und die Funktion len(), um die Form von verschachtelten Listen in Python zu erhalten
  3. Verwenden Sie NumPy, um die Form von mehrdimensionalen Listen in Python zu erhalten
  4. Verwenden Sie Rekursion, um die Form von unregelmäßig verschachtelten Listen in Python zu erhalten
  5. Fazit
Erhalten Sie die Form einer Liste in Python

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.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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.

LinkedIn

Verwandter Artikel - Python List