Articles

Como concatenar duas listas em Python

introdução

list concatenação o ato de criar uma única lista a partir de várias listas menores por daisy acorrentá-las juntas.

Existem muitas maneiras de concatenar listas em Python. Especificamente, neste artigo, vamos rever como concatenar duas listas em Python usando o operador plus, operador unpack, operador multiply, manual para concatenação em loop, a funçãoitertools.chain() e o método da lista inbuilt .

Em todos os trechos de código abaixo, faremos uso da seguinte lista:

list_a = list_b = 

Além de Lista de operadores de Concatenação

O mais simples e direto caminho para concatenar duas listas em Python é o sinal de mais (+) operador:

list_c = list_a + list_bprint (list_c)

Descompactar Lista Operador de Concatenação

Este método permite que você junte-se a várias listas. É um recurso bastante novo e apenas disponível a partir do Python 3.6+. O operador de desempacotamento, como o nome indica, desemboca um objeto iterable em seus elementos. Desempacotar é útil quando queremos gerar uma infinidade de argumentos a partir de uma única lista. Por exemplo:

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

In a nutshell, we use the list constructor () and generate the elements of the new list in order by unpacking multiple lists one after another:

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

Multiplique Lista Operador de Concatenação

A multiplicar (*) operador é um caso especial de lista de concatenação em Python. Ele é usado para repetir uma lista inteira várias vezes (é por isso que é indicado com um operador de multiplicação):

print(list_a * 2)

para loop Lista de Concatenação

neste método nós vamos passar uma lista ao acrescentar a cada um de seus elementos para a outra lista, um por um. Quando o loop terminar, você terá uma única lista com todos os elementos desejados:

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

itertools.Chain () List Concatenation

This method works with iterables. Ele cria e retorna um iterador que mais tarde pode ser usado para construir a lista encadeada (pense nisso como uma seta que apenas memoriza a ordem dos elementos na lista resultante):

# 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)

Sob o capô, algo ao longo dessas linhas é o que acontece:

# 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

Para este método, você precisará importar itertools:

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

extend() Lista de Concatenação

Este é aa interna é uma função que pode ser usada para expandir a lista. Aqui estamos expandindo a primeira lista, adicionando elementos da segunda lista a ela:

list_a.extend(list_b)print (list_a)

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *