Articles

Jak połączyć dwie listy w Pythonie

wprowadzenie

łączenie List akt tworzenia pojedynczej listy z wielu mniejszych list poprzez łączenie ich ze sobą.

istnieje wiele sposobów łączenia list w Pythonie. W szczególności w tym artykule omówimy, jak połączyć dwie listy w Pythonie za pomocą operatora plus, operatora rozpakuj, operatora multiply, instrukcji łączenia pętli ,funkcjiitertools.chain() I wbudowanej metody listyextend().

we wszystkich poniższych fragmentach kodu wykorzystamy następujące listy:

list_a = list_b = 

łączenie listy operatorów Plus

najprostszym i najprostszym sposobem połączenia dwóch list w Pythonie jest operator plus (+):

list_c = list_a + list_bprint (list_c)

rozpakuj połączenie listy operatorów

ta metoda pozwala na dołączenie wielu list. Jest to dość nowa funkcja i dostępna tylko w Pythonie 3.6+. Operator rozpakowywania, jak sama nazwa wskazuje, rozpakowuje obiektiterable do swoich elementów. Rozpakowanie jest przydatne, gdy chcemy wygenerować mnóstwo argumentów z jednej listy. Na przykład:

def foo(a, b, c, d): return a + b + c + d# We want to use the arguments of the following list with the foo function.# However, foo doesn't take a list, it takes 4 numbers, which is why we need to# unpack the list.foo(*list_a)# This is the same as if we were to call foo(1,2,3,4)
10

w skrócie używamy konstruktora listy () I generujemy elementy nowej listy w kolejności rozpakowując kilka list jeden po drugim:

list_c = # This is the same as:# list_c = print (list_c)

Multiply Operator List Concatenation

Operator multiply (*) jest szczególnym przypadkiem połączenia list w Pythonie. Służy do wielokrotnego powtórzenia całej listy (dlatego jest oznaczona operatorem mnożenia):

print(list_a * 2)

dla połączenia listy pętli

w tej metodzie przejdziemy przez jedną listę, dodając każdy z jej elementów do innej listy jeden po drugim. Po zakończeniu pętli będziesz miał jedną listę ze wszystkimi żądanymi elementami:

for i in list_b: list_a.append(i)print (list_a)

itertools.Chain () List Concatenation

ta metoda działa z iterables. Konstruuje i zwraca iterator, który może być później użyty do skonstruowania listy łańcuchowej (pomyśl o tym jak o strzałce, która zapamiętuje kolejność elementów w wynikowej liście):

# If we were to call itertools.chain() like soiterator = itertools.chain(, )# Basically the iterator is an arrow which can give us the next() element in a sequence, so if we call a list() constructor with said iterable, it works like this:list(iterator)

pod maską, coś w tym stylu dzieje się tak, że:

# Iterator: The next element in this list is 1 , ^# Iterator: The next element in this list is 2, ^# Iterator: The next element in this list is 3 , ^# Iterator: The next element in this list is 4 , ^# So the list() call looks something like:list()# Keep in mind this is all pseudocode, Python doesn't give the developer direct control over the iterator

dla tej metody musisz zaimportować itertools:

import itertoolslist_c = list(itertools.chain(list_a, list_b))print (list_c)

Extend() list Concatenation

jest to wbudowana funkcja AA, której można użyć do rozszerzenia listy. Tutaj rozwijamy pierwszą listę dodając do niej elementy drugiej listy:

list_a.extend(list_b)print (list_a)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *