Lista skrzyżowania w Pythonie

Lista skrzyżowania w Pythonie
W Pythonie istnieje wiele zmiennych obiektowych do przechowywania różnych typów danych. lista jest jedną z tych zmiennych i może przechowywać różne typy danych dla różnych potrzeb. Czasami musimy znaleźć wspólne, rzadkie lub zarówno powszechne, jak i rzadkie elementy danych z wielu list do celów programowania. Python zawiera kilka wbudowanych funkcji i operatorów, które mogą wykonywać tego rodzaju zadania dla zestawów Python. Znalezienie wspólnych danych z wielu list nazywane jest przecięciem listy, ale nie ma operatora ani wbudowanej funkcji dla list takich jak zestawy, aby znaleźć wspólne elementy danych z wielu list. Ten samouczek pokaże, jak przecinać listy w Python.

Skrzyżowanie

Przed rozpoczęciem tego samouczka zostanie wyjaśniona pojęcie skrzyżowania. Poniżej dwa są podane jako przykład:

List1 = [4, 7, 23, 9, 6, 11]
List2 = [6, 5, 1, 20, 9, 7, 4, 3]

Po zastosowaniu skrzyżowania, jeśli wynik jest przechowywany na innej liście, być może o nazwie List3, będzie on zawierał następujące dane.

List3 = [4, 6, 7, 9]

Graficzne przedstawienie List3 pokazano poniżej:

Przykład 1: Przecinanie list metodą set ()

Poniższy przykład pokazuje, jak przecinać dwie listy za pomocą ustawić() Metoda i I operator. Dwie listy, nazwane List1 i List2, są tutaj zadeklarowane. Obie te listy zawierają wartości liczbowe. Trzecia lista jest generowana przez konwersję List1 i List 2 w zestawie za pomocą zestawu() metoda i stosowanie skrzyżowania za pomocą I operator. Następnie wydrukowane są wartości trzech list.

#!/usr/bin/env python3
# Zdefiniuj listę1
List1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Zdefiniuj listę2
List2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Utwórz listę3, przecinając listę1 i list2
list3 = lista (set (lista1) i set (lista2))
# Drukuj lista 1
drukuj („Wartości listy 1: \ n”, lista1)
# Lista drukowania 2
drukuj („Wartości listy2: \ n”, lista2)
# Lista drukowania3
Drukuj („Wartości listy3 po przecięciu List1 i List2: \ n”, List3)

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Trzy wartości są wspólne dla obu list. Wartości te wynoszą 8, 9 i 20 i są pokazane na zawartości trzeciej listy.

Przykład 2: Przecinanie list metodą Intersection ()

Nie ma bezpośredniej, wbudowanej metody obiektu listy, aby znaleźć wartości przecięcia między dwiema listami. Zestaw ma jednak wbudowaną metodę o nazwie skrzyżowanie(), Aby znaleźć wspólne wartości między zestawami. Funkcja niestandardowa, nazwana przecięcielistów (), jest zdefiniowany w następującym skrypcie, aby znaleźć wspólne wartości między dwiema listami. Jednym ograniczeniem tego zestawu jest to, że może zawierać tylko dane numeryczne. Zmienna listy może zawierać różne typy ciągów danych, w tym numeryczne, boolean itp. W skrypcie, List1 I Lista 2 zawierają wszystkie dane ciągów, w tym tekst. Skrypt wydrukuje wszystkie wspólne wartości i wartości liczbowe pomiędzy List1 I Lista 2.

#!/usr/bin/env python3
# Zdefiniuj funkcję, aby zwrócić przecięcie dwóch list
DEF Intersectlists (List1, List2):
Zestaw powrotu (lista 1).skrzyżowanie (lista 2)
# Zdefiniuj listę1
list1 = [„Hello”, „7”, „8”, „10”, „2”]
# Zdefiniuj listę2
list2 = [„8”, „34”, „Hello”, „2”, „21”, „1”, 10]
„Wywołaj funkcję niestandardową do przechowywania
Wynik przecięcia List1 i List2
na list3 ”
List3 = Intersectlists (List1, List2)
# Drukuj lista 1
drukuj („Wartości listy 1: \ n”, lista1)
# Lista drukowania 2
drukuj („Wartości listy2: \ n”, lista2)
# Lista drukowania3
Drukuj („Wartości listy3 po przecięciu List1 i List2: \ n”, List3)

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Tutaj wspólne wartości między dwiema listami to „2”, „8” i „hello.'

Przykład 3: przecinanie list za pomocą metody pętli

Dwa poprzednie przykłady pokazują przecięcie listy za pomocą wbudowanych funkcji. Poniższy przykład pokazuje przecięcie listy bez wbudowanej funkcji. Można to osiągnąć za pomocą pętli. Dwie listy danych tekstowych są zadeklarowane w skrypcie. Do Pętla jest używana tutaj, aby znaleźć wspólne wartości tekstu między List1 I Lista 2, i które są przechowywane w zmiennej, List3. Następnie wydrukowane są wartości tych trzech zmiennych listy.

#!/usr/bin/env python3
# Zdefiniuj listę1
list1 = [„Farhan”, „Abir”, „Akash”, „Meena”, „Mazher”]
# Zdefiniuj listę2
list2 = [„Meena”, „moyna”, „Nobel”, „Naher”, „Abir”, „Farheen”]
# Znajdź skrzyżowanie za pomocą pętli i przechowuj wynik na List3
LIST3 = [Wartość dla wartości na liście1 Jeśli wartość na liście2]
# Drukuj lista 1
drukuj („Wartości listy 1: \ n”, lista1)
# Lista drukowania 2
drukuj („Wartości listy2: \ n”, lista2)
# Lista drukowania3
Drukuj („Wartości listy3 po przecięciu List1 i List2: \ n”, List3)

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Tutaj wspólne wartości tekstowe dwóch list są „Abir” I Meena.'

Przykład 4: Przecinanie prostych i zagnieżdżonych list za pomocą metody Filter ()

Poniższy przykład pokazuje przecięcie między prostą listą a zagnieżdżoną listą. filtr() metoda i lambda Funkcja jest używana w skrypcie do przeprowadzenia przecięcia między listą 1 a listą2. Gdy lista zawiera jedną lub więcej list jako elementy listy, lista nazywa się listą zagnieżdżoną. Tutaj, List1 to prosta lista i Lista 2 jest zagnieżdżoną listą, podczas gdy List3 zawiera wartości przecięcia List1 I Lista 2.

#!/usr/bin/env python3
# Zdefiniuj prostą listę
List1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Zdefiniuj zagnieżdżoną listę
List2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Utwórz listę3, przecinając list1 i list2 za pomocą filtra ()
list3 = [List (Filter (Lambda N: N w List1, Slist)) dla SLIST w List2]
# Drukuj lista 1
drukuj („Wartości listy 1: \ n”, lista1)
# Lista drukowania 2
drukuj („Wartości listy2: \ n”, lista2)
# Lista drukowania3
Drukuj („Wartości listy3 po przecięciu List1 i List2: \ n”, List3)

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Zmienna List2 zawiera trzy inne listy jako elementy listy. Wynik pokazuje, że przecięcie tych trzech podpisów List2 z listą1.

Wniosek

Przecięcie listy jest użytecznym sposobem na znalezienie wspólnych wartości między listami zawierającymi dużą liczbę elementów listy. W tym samouczku pokazano metody wykonywania przecięcia listy z wbudowanymi funkcjami i bez. Po przeczytaniu tego artykułu koncepcja przecięcia listy powinna być jasna i powinieneś być w stanie zastosować przecięcie listy w skrypcie, zgodnie z dowolnym sposobem pokazanym w tym samouczku.