Como multiplicar listas em Python: 7 maneiras rápidas

Multiplicar listas em Python é uma operação comum ao realizar cálculos matemáticos ou resolver problemas na manipulação de dados. Existem várias maneiras de realizar essa tarefa, dependendo de seus requisitos e das bibliotecas disponíveis.

Para multiplicar listas em Python, você pode usar loops for, compreensão de lista, zip e funções de mapa ou o módulo integrado functools. Você também pode usar funções de uma biblioteca Python externa como NumPy.

Este artigo mostrará várias maneiras diferentes de multiplicar listas, cada uma com um exemplo de código e resultados explicados.

Vamos começar!

Índice

2 tipos de multiplicação de lista numérica em Python

Antes de mergulharmos nos métodos específicos, você deve entender o tipo de multiplicação de lista que eles alcançam.

Python tem vários conceitos diferentes que estão sob o termo amplo de multiplicação de lista. Isso inclui replicar listas ou obter o Produto Cartesiano de elementos dentro de uma lista.

Este artigo se concentra em dois tipos de multiplicação aritmética de elementos dentro de uma lista:

  1. Multiplicação por valor

  2. Multiplicação Elementar

Vamos dar uma olhada rápida nesses dois conceitos.

1. Multiplicação por valor

Quando você tem uma lista de números inteiros, pode querer multiplicar cada elemento por um valor específico. Por exemplo, você tem uma lista [1, 2, 3] e deseja multiplicar cada elemento pelo valor 3.

Você poderia tentar (incorretamente) usar o operador de multiplicação como neste trecho de código:

list1 = [1, 2, 3]
result = list1 * 3

Você pode se surpreender com o resultado [1, 2, 3, 1, 2, 3, 1, 2, 3]. Isso é conhecido como replicação de lista .

2. Multiplicação de lista elementar

Suponha que você tenha duas listas: [1, 2, 3] e [4, 5, 6]

Você deseja multiplicar os elementos no mesmo índice dentro da lista para produzir [4, 10, 18] como resultado.

Se você tentar multiplicar duas listas Python usando o operador '*', receberá um erro:

TypeError: não é possível multiplicar a sequência por não int do tipo 'lista'

Isso ocorre porque o operador de multiplicação não foi projetado para trabalhar com listas da mesma forma que funciona com números inteiros ou flutuantes. Em vez disso, a multiplicação de listas requer uma operação conhecida como multiplicação elementar.

A multiplicação elementar emparelha os elementos correspondentes de duas listas e os multiplica, formando uma nova lista.

Agora que você entende esses dois conceitos. vamos trabalhar com uma variedade de técnicas para alcançar os resultados corretos.

Como usar um loop for para vários elementos de lista em Python

Como multiplicar listas em Python: 7 maneiras rápidas

Suponha que você queira multiplicar os elementos da lista por um valor. Para esta abordagem, você pode iterar pelos elementos com um loop for e multiplicar cada um por um segundo valor.

Aqui está um exemplo com uma lista. A variável de resultado contém a lista de saída.

list1 = [1, 2, 3, 4]
factor = 3
result = []

for element in list1:
    result.append(element * factor)

Nesse caso, a lista de resultados será [3, 6, 9, 12].

Como usar compreensões de lista para multiplicação

As compreensões de lista fornecem uma maneira concisa de executar o tipo numérico de multiplicações de lista. Você obtém o mesmo resultado de um loop for , mas com uma sintaxe mais compacta.

Aqui está o exemplo anterior usando compreensão de lista:

list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]

Esse código resulta na mesma saída anterior: [3, 6, 9, 12].

Como usar a função Zip para multiplicação elementar

Como multiplicar listas em Python: 7 maneiras rápidas

Se você tiver duas listas de números inteiros, pode querer multiplicar as listas elemento a elemento. Isso significa que você multiplica o primeiro elemento da primeira lista vezes o primeiro elemento da segunda lista e assim por diante com os elementos na mesma posição.

A função zip() pode conseguir isso quando você a combina com a compreensão de lista.

A função combina os elementos de duas listas de entrada, permitindo que você as percorra em paralelo. Aqui está um exemplo usando listas do mesmo tamanho:

list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]

Nesse caso, a variável de resultado conterá a lista resultante: [4, 10, 18].

Trabalhando com tuplas e construtores

Às vezes, você pode ter que trabalhar com listas contendo tuplas em vez de inteiros simples.

Para multiplicar duas listas de tuplas , você pode usar uma combinação de:

  • função zip()

  • construtores de tupla

  • compreensões de lista

Aqui está um exemplo:

list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]

result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]

Este é o resultado: [(5, 12), (21, 32)].

Como usar um mapa e uma função Lambda em Python

Como multiplicar listas em Python: 7 maneiras rápidas

A função map em Python é uma maneira conveniente de aplicar uma função a cada item em um iterável como uma lista.

Uma função lambda em Python é uma pequena função anônima. Isso significa que é uma função sem nome.

Para multiplicar duas listas por elemento, você pode combinar as funções map e lambda:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))

A variável de resultado conterá as listas multiplicadas: [4, 10, 18].

Como usar o módulo Operator em Python

O módulo operador fornece uma variedade de funções úteis para trabalhar com diferentes tipos e estruturas de dados.

A função operator.mul() pode ser usada para multiplicar listas de inteiros quando você a combina com a função map.

import operator

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = list(map(operator.mul, list1, list2))

Neste exemplo, você importa o módulo operator e usa a função mul() junto com a função map() integrada do Python para multiplicar cada elemento das duas listas.

A variável de resultado conterá as listas multiplicadas: [4, 10, 18].

Biblioteca NumPy: as funções de matriz e multiplicação

Como multiplicar listas em Python: 7 maneiras rápidas

A biblioteca NumPy é uma poderosa biblioteca externa em Python, amplamente utilizada para computação numérica e trabalho com arrays. Essa biblioteca é especialmente eficiente ao lidar com grandes arrays ou arrays multidimensionais.

Para usar o NumPy, você pode instalá-lo usando o pip:

pip install numpy

Para realizar a multiplicação elemento a elemento em duas listas usando NumPy, siga estas etapas gerais:

  1. Converta cada lista em uma matriz NumPy usando numpy.array() .

  2. Realize a multiplicação usando a função de multiplicação NumPy.

  3. Opcionalmente, converta o resultado de volta em uma lista Python usando o método tolist()

Aqui está um exemplo de código:

import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)

res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()

Isso retornará o mesmo resultado dos exemplos anteriores: [4, 10, 18].

Como combinar Functools e NumPy em Python

A biblioteca functools contém uma função de redução que aplica uma função específica cumulativamente aos itens de uma lista, reduzindo a lista a um único valor.

Para multiplicar duas listas usando a função reduce() , você pode combiná-la com a função de multiplicação da biblioteca NumPy.

Aqui está um exemplo:

from functools import reduce
import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = reduce(np.multiply, [list1, list2])

Este código importa as bibliotecas necessárias e usa a função reduce() junto com numpy.multiply() para executar a multiplicação elemento a elemento das duas listas.

Trabalhando com listas e outras estruturas de dados em Python

A maioria dos aspectos da análise de dados requer trabalhar com listas, conjuntos e outras estruturas de dados. Por exemplo, você colocará seu conhecimento em uso ao lidar com dados ausentes com interpolação.

Confira este vídeo para algumas técnicas avançadas:

Pensamentos finais

Você aprendeu vários métodos de multiplicar listas aritmeticamente em Python. Alguns usam apenas módulos e funções integrados, enquanto outros dependem de bibliotecas de terceiros.

A capacidade de realizar a multiplicação elementar abre as portas para uma miríade de aplicações. Da análise de dados ao aprendizado de máquina, essas operações são uma parte essencial de muitos algoritmos e tarefas computacionais.

Embora este artigo se concentre na multiplicação, os conceitos que você aprendeu também se estendem a outras operações. Adição, subtração e divisão elementar também podem ser realizadas da mesma maneira.

Lembre-se, a melhor maneira de solidificar esses conceitos é aplicá-los — então vá em frente, abra seu ambiente Python e comece a experimentar. Quer você esteja automatizando tarefas, manipulando dados ou desenvolvendo softwares complexos, essas técnicas sem dúvida serão úteis.

Python feliz!

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.