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]>