logo

Python | Teilen Sie die Liste nach bestimmten Werten in Listen auf

In Python zum Aufteilen einer Liste in Unterlisten basierend auf einem bestimmten Wert. Die Idee besteht darin, die ursprüngliche Liste zu durchlaufen und Elemente in Unterlisten zu gruppieren, wann immer der angegebene Wert gefunden wird. Insbesondere bei großen Datenmengen ist es häufig erforderlich, Listen zu manipulieren und zu bearbeiten. Eine häufige Operation besteht darin, eine Liste entsprechend einem bestimmten Wert in mehrere Unterlisten zu unterteilen. Wenn Sie Komponenten miteinander kombinieren oder verschiedene Teilmengen der Daten analysieren möchten, kann dieses Verfahren hilfreich sein.

Möglichkeiten, Listen basierend auf der Bedingung in Listen aufzuteilen

Hier sind die verschiedenen Methoden, mit denen wir Listen basierend auf der gegebenen Bedingung in Listen aufteilen können.

  • Verwendung der einfachen Iteration
  • Verwendung des Listenverständnisses
  • Verwendung von for-Schleifen
  • Rekursion verwenden
  • Verwendung von Itertools
  • Verwenden von NumPy

Teilen Sie die Liste in Python mithilfe von Iteration

In Python , teilen wir eine Liste nach bestimmten Werten in Listen auf Einfache Iteration . Der Code initialisiert eine Liste und einen bestimmten Wert. Anschließend wird die Liste basierend auf dem jeweiligen Wert in Unterlisten aufgeteilt, indem jedes Element der Liste durchlaufen wird.



Python3




test_list>=> [>1>,>4>,>5>,>6>,>4>,>5>,>6>,>5>,>4>]> print>(>'The original list : '> +> str>(test_list))> particular_value>=> 5> result>=> []> temp_list>=> []> for> i>in> test_list:> >if> i>=>=> particular_value:> >temp_list.append(i)> >result.append(temp_list)> >temp_list>=> []> >else>:> >temp_list.append(i)> result.append(temp_list)> print>(>'The list after splitting by a value : '> +> str>(result))>

>

>

Ausgabe

The original list : [1, 4, 5, 6, 4, 5, 6, 5, 4] The list after splitting by a value : [[1, 4, 5], [6, 4, 5], [6, 5], [4]]>

Teilen Sie eine Python-Liste mithilfe des Listenverständnisses in Blöcke auf

In Python teilen wir eine Liste nach bestimmten Werten in Listen auf Listenverständnis . Dieses Problem kann in zwei Teilen gelöst werden. Im ersten Teil erhalten wir die Indexliste, anhand derer die Aufteilung durchgeführt werden muss aufzählen Funktion. Und dann können wir die Werte anhand der Indizes zusammenfügen Reißverschluss und Listen-Slicing.

Python3

Kasse mit Git




test_list>=> [>1>,>4>,>5>,>6>,>4>,>5>,>6>,>5>,>4>]> print>(>'The original list : '> +> str>(test_list))> # using list comprehension Split list into lists by particular value> size>=> len>(test_list)> idx_list>=> [idx>+> 1> for> idx, val>in> >enumerate>(test_list)>if> val>=>=> 5>]> res>=> [test_list[i: j]>for> i, j>in> >zip>([>0>]>+> idx_list, idx_list>+> >([size]>if> idx_list[>->1>] !>=> size>else> []))]> print>(>'The list after splitting by a value : '> +> str>(res))>

>

>

Ausgabe

The original list : [1, 4, 5, 6, 4, 5, 6, 5, 4] The list after splitting by a value : [[1, 4, 5], [6, 4, 5], [6, 5], [4]]>

Teilen Sie die Liste in Python mithilfe von For-Schleifen

In Python teilen wir eine Liste nach bestimmten Werten in Listen auf for-Schleife S. Der Code wandelt die ursprüngliche Auflistung in eine Zeichenfolgendarstellung um und ersetzt den jeweiligen Preis durch ein Trennzeichen (*). Anschließend wird die Änderung aufgeteilt Zeichenfolge auf dem Trennzeichen, um Teilzeichenfolgen zu erhalten.

Python3


Wann wurde die Schule erfunden?



test_list>=> [>1>,>4>,>5>,>6>,>4>,>5>,>6>,>5>,>4>]> print>(>'The original list : '> +> str>(test_list))> x>=> list>(>map>(>str>, test_list))> x>=> ' '>.join(x)> x>=> x.replace(>'5'>,>'5*'>)> y>=> x.split(>'*'>)> res>=> []> for> i>in> y:> >i>=> i.strip()> >i>=> i.split(>' '>)> >b>=> []> >for> j>in> i:> >b.append(>int>(j))> >res.append(b)> print>(>'The list after splitting by a value : '> +> str>(res))>

>

>

Ausgabe

Was ist ein Java-Stack?
The original list : [1, 4, 5, 6, 4, 5, 6, 5, 4] The list after splitting by a value : [[1, 4, 5], [6, 4, 5], [6, 5], [4]]>

Teilen Sie eine Liste mithilfe der Rekursion in mehrere Listen auf

In Python teilen wir eine Liste nach bestimmten Werten in Listen auf Rekursion . Der Code definiert eine Rekursivität Funktion Diese Funktion wird als „split_list_recursive“ bezeichnet und teilt eine bestimmte Liste in Unterlisten auf, wenn ein bestimmter Wert auftritt. Es verwendet Rekursion und zwei temporäre Listen (result und temp_list), um die resultierenden Unterlisten zu speichern.

Python3




def> split_list_recursive(test_list, result, temp_list, particular_value):> >if> not> test_list:> >result.append(temp_list)> >return> >if> test_list[>0>]>=>=> particular_value:> >result.append(temp_list>+> [particular_value])> >split_list_recursive(test_list[>1>:], result, [], particular_value)> >else>:> >split_list_recursive(test_list[>1>:],> >result,> >temp_list>+> [test_list[>0>]],> >particular_value)> test_list>=> [>1>,>4>,>5>,>6>,>4>,>5>,>6>,>5>,>4>]> particular_value>=> 5> result>=> []> print>(>'The original list:'>, test_list)> split_list_recursive(test_list, result, [], particular_value)> print>(>'The list after splitting by value:'>, result)>

>

>

Ausgabe

The original list: [1, 4, 5, 6, 4, 5, 6, 5, 4] The list after splitting by value: [[1, 4, 5], [6, 4, 5], [6, 5], [4]]>

Teilen Sie die Liste in Python mit Itertools

In Python teilen wir eine Liste nach bestimmten Werten in Listen auf itertools . Der Code definiert eine Funktion namens „split_list“, die eine Liste und einen Wert als Eingabe akzeptiert. Es nutzt die itertools.groupby() Funktion zum Gruppieren aufeinanderfolgender Elemente in der Liste basierend darauf, ob sie dem angegebenen Wert entsprechen.

Python3




import> itertools> def> split_list(lst, val):> >return> [>list>(group)>for> k,> >group>in> >itertools.groupby(lst,>lambda> x: x>=>=>val)>if> not> k]> original_lst>=> [>1>,>4>,>5>,>6>,>4>,>5>,>6>,>5>,>4>]> split_lst>=> split_list(original_lst,>6>)> print>(>'The original list:'>, original_lst)> print>(>'The list after splitting by a value:'>, split_lst)>

>

>

Ausgabe

The original list: [1, 4, 5, 6, 4, 5, 6, 5, 4] The list after splitting by a value: [[1, 4, 5], [4, 5], [5, 4]]>

Teilen Sie die Liste in Python mit NumPy

In Python teilen wir eine Liste in auf Listen nach einem bestimmten Wert mit Numpy. Der Code verwendet eine Liste und einen bestimmten Wert als Eingabe. Anschließend wird die Liste in eine umgewandelt NumPy Array und findet die Indizes, in denen der jeweilige Wert vorkommt.

Python3




wie man ein Skript unter Linux ausführt
import> numpy as np> test_list>=> [>1>,>4>,>5>,>6>,>4>,>5>,>6>,>5>,>4>]> particular_value>=> 5> arr>=> np.array(test_list)> idx>=> np.where(arr>=>=> particular_value)[>0>]> subarrays>=> np.split(arr, idx>+>1>)> result>=> [subarray.tolist()>for> subarray>in> subarrays>if> len>(subarray)>>0>]> print>(>'The original list:'>, test_list)> print>(>'The list after splitting by a value:'>, result)>

>

>

Ausgabe

The original list: [1, 4, 5, 6, 4, 5, 6, 5, 4] The list after splitting by a value: [[1, 4, 5], [6, 4, 5], [6, 5], [4]>