Python-Liste in zwei Hälften teilen

Hemank Mehtani 30 Januar 2023
  1. Verwenden Sie das Listen-Slicing, um eine Liste in Python in zwei Hälften zu teilen
  2. Verwenden Sie die Funktion islice(), um eine Liste in halbem Python zu teilen
  3. Verwenden Sie die Funktion accumulate(), um eine Liste in Python in zwei Hälften zu teilen
Python-Liste in zwei Hälften teilen

Listen speichern Elemente an einem bestimmten Index und sind veränderbar, was bedeutet, dass wir die Werte in einer Liste später aktualisieren können.

In diesem Tutorial erfahren Sie, wie Sie eine Liste in zwei Hälften teilen.

Verwenden Sie das Listen-Slicing, um eine Liste in Python in zwei Hälften zu teilen

Beim Listen-Slicing wird ein bestimmter Teil der Liste für einen bestimmten Vorgang erfasst, während die ursprüngliche Liste unverändert bleibt. Das bedeutet, dass ein Duplikat der Liste erstellt wird, um die zugewiesene Aufgabe auszuführen. Dazu wird der Slicing-Operator ([:] ) in Python verwendet.

Wir teilen eine Liste im folgenden Code in zwei Hälften.

lst = ["a", "b", "c", "d", "e", "f"]
print(lst[:3])
print(lst[3:])

Ausgabe:

['a', 'b', 'c']
['d', 'e', 'f']

Wir können auch eine Funktion erstellen, um die Liste in zwei Hälften zu teilen. Wir verwenden die Funktion len(), um die Länge der Liste zu ermitteln. Wir halbieren diesen Wert und teilen ihn mit der List-Slicing-Methode in zwei Hälften.

Zum Beispiel,

def split_list(a_list):
    half = len(a_list) // 2
    return a_list[:half], a_list[half:]


A = ["a", "b", "c", "d", "e", "f"]
B, C = split_list(A)
print(B)
print(C)

Ausgabe:

['a', 'b', 'c']
['d', 'e', 'f']

Wir haben eine Funktion split_list erstellt, die zwei Hälften einer bestehenden Liste zurückgibt.

Beachten Sie, dass die ursprüngliche Liste nicht geändert wird, da eine doppelte Liste erstellt wird, um die zugewiesene Aufgabe auszuführen.

Verwenden Sie die Funktion islice(), um eine Liste in halbem Python zu teilen

In Python ist itertools das eingebaute Modul, das es uns ermöglicht, die Iteratoren effizient zu handhaben.

Es macht die Iteration durch die iterierbaren Elemente wie Listen und Strings sehr einfach. Die Funktion islice ist Bestandteil des Moduls itertools. Es gibt selektiv die Werte aus, die in seinem iterierbaren Container erwähnt werden, der als Argument übergeben wird.

Zum Beispiel,

from itertools import islice

Input = ["a", "b", "c", "d", "e", "f"]
length_to_split = [len(Input) // 2] * 2
lst = iter(Input)
Output = [list(islice(lst, elem)) for elem in length_to_split]

print("Initial list:", Input)
print("After splitting", Output)

Ausgabe:

Initial list: ['a', 'b', 'c', 'd', 'e', 'f']
After splitting [['a', 'b', 'c'], ['d', 'e', 'f']]

Verwenden Sie die Funktion accumulate(), um eine Liste in Python in zwei Hälften zu teilen

Die Funktion zip() dient dazu, Elemente aus einem Iterable zu kombinieren. Wir können es mit der Funktion accumulate() aus dem Modul itertools verwenden, um eine Liste in zwei Hälften zu teilen.

Zum Beispiel,

from itertools import accumulate

Input = ["a", "b", "c", "d", "e", "f"]
length_to_split = [len(Input) // 2] * 2
Output = [
    Input[x - y : x] for x, y in zip(accumulate(length_to_split), length_to_split)
]
print("Initial list :", Input)
print("After splitting", Output)

Ausgabe:

Initial list : ['a', 'b', 'c', 'd', 'e', 'f']
After splitting [['a', 'b', 'c'], ['d', 'e', 'f']]