Função Python map () com EXEMPLOS

Índice:

Anonim

Python map () aplica uma função em todos os itens de um iterador fornecido como entrada. Um iterador, por exemplo, pode ser uma lista, uma tupla, um conjunto, um dicionário, uma string e retorna um objeto de mapa iterável. Python map () é uma função embutida.

Neste tutorial, você aprenderá:

  • Sintaxe:
  • Como funciona a função map ()?
  • Usando map () com funções integradas ao Python
  • Usando map () com uma string como um iterador
  • Usando mapa () com lista de números
  • Usando map () com Tupla
  • Usando o mapa () com o Dicionário
  • Usando mapa () com Set
  • Usando map () com a função Lambda
  • Usando vários iteradores dentro da função map ()

Sintaxe:

map(function, iterator1,iterator2… iteratorN)

Parâmetros

Aqui estão dois importantes

  • function: Função obrigatória a ser atribuída ao map, que será aplicada a todos os itens disponíveis no iterador.
  • iterador: um objeto obrigatório iterável. Pode ser uma lista, uma tupla, etc. Você pode passar vários objetos iteradores para a função map ().

Valor de retorno

A função map () vai aplicar a função dada em todos os itens dentro do iterador e retornar um objeto de mapa iterável, ou seja, uma tupla, uma lista, etc.

Como funciona a função map ()?

A função map () recebe duas entradas como uma função e um objeto iterável. A função que é fornecida para map () é uma função normal e irá iterar sobre todos os valores presentes no objeto iterável fornecido.

Por exemplo, considere que você tem uma lista de números e deseja encontrar o quadrado de cada um dos números.

Para obter a saída, precisamos da função que retornará o quadrado do número fornecido. A função será a seguinte:

def square(n):return n*n

A lista de itens que queremos encontrar no quadrado é a seguinte:

my_list = [2,3,4,5,6,7,8,9]

Agora vamos usar a função embutida map () python para obter o quadrado de cada um dos itens em my_list.

O código final é o seguinte:

def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))

Resultado:

[4, 9, 16, 25, 36, 49, 64, 81]

A saída da função map (), conforme visto na saída, é um objeto de mapa exibido na tela como .

Você terá que iterar a saída do mapa usando um loop for ou o método list () para obter a saída final. Usei list () no código que exibe os valores dentro da lista fornecida.

Assim, usando a função map (), somos capazes de obter o quadrado de cada número. A lista fornecida para map foi [2,3,4,5,6,7,8,9] e usando a função square () a saída de map () que obtivemos é [4, 9, 16, 25, 36, 49, 64, 81].

A função map () aplica a função square () em todos os itens da lista. Por exemplo, a variável my_list e atualiza a lista com o quadrado de cada número. A saída é armazenada na variável updated_list.

Usando map () com funções integradas ao Python

A função map () do Python é uma função embutida e também pode ser usada com outras funções embutidas disponíveis no Python. No exemplo, usaremos a função interna round () do Python que arredonda os valores fornecidos.

Exemplo:

A lista que tenho é my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].

Preciso dos valores arredondados para cada item presente na lista. Faremos uso de round () como a função para map ().

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]updated_list = map(round, my_list)print(updated_list)print(list(updated_list))

Resultado:

[3, 4, 4, 6, 6, 8, 8, 10]

A função round () é aplicada a todos os itens da lista e retorna uma lista com todos os valores arredondados conforme mostrado na saída.

Usando map () com uma string como um iterador

Também podemos usar map () em uma string. Em Python, uma string atua como um array para que possamos facilmente usá-la dentro do map ().

No exemplo, temos uma função myMapFunc () que se encarrega de converter a string fornecida em maiúsculas. A função myMapFunc () é fornecida para a função map (). A função map cuidará da conversão da string fornecida em maiúsculas, passando a string para myMapFunc ().

def myMapFunc(s):return s.upper()my_str = "welcome to guru99 tutorials!"updated_list = map(myMapFunc, my_str)print(updated_list)for i in updated_list:print(i, end)

Resultado:

WELCOME TO GURU99 TUTORIALS!

Usando mapa () com lista de números

Para trabalhar com a lista no mapa () pegará uma lista de números e multiplicará cada número da lista por 10.

A lista que vamos usar é: [2,3,4,5,6,7,8,9]. A função myMapFunc () se encarrega de multiplicar o número fornecido por 10. A função é fornecida para mapear junto com a lista.

Exemplo:

def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))

Resultado:

[20, 30, 40, 50, 60, 70, 80, 90]

O resultado que vemos é que cada número na lista é

multiplicado por 10.

Usando map () com Tupla

Uma tupla é um objeto em Python que possui itens separados por vírgulas e entre colchetes. No exemplo, vamos pegar uma tupla com valores de string. A função que usaremos converterá os valores dados em maiúsculas.

Exemplo:

def myMapFunc(n):return n.upper()my_tuple = ('php','java','python','c++','c')updated_list = map(myMapFunc, my_tuple)print(updated_list)print(list(updated_list))

Resultado:

['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

A saída que obtemos é uma tupla de volta com todos os valores nela convertidos em maiúsculas.

Usando o mapa () com o Dicionário

Um dicionário em Python é criado usando chaves ({}). Como o dicionário é um iterador, você pode usá-lo dentro da função map (). Vamos agora usar um dicionário como um iterador dentro da função map ().

O exemplo a seguir mostra o funcionamento do iterador de dicionário dentro de map ()

def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))

Resultado:

[20, 30, 40, 50, 60, 70, 80, 90]

Usando mapa () com Set

Definido em Python é uma coleção não ordenada de itens entre chaves (()). Como set () também é um iterador, você pode fazer uso dele dentro da função map ().

Aqui está um exemplo prático de uso de set como um iterador dentro de map ()

def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))

Resultado:

[20, 30, 40, 50, 60, 70, 80, 90]

Usando map () com a função Lambda

Em Python, as expressões lambda são utilizadas para construir funções anônimas. Você terá que usar a palavra-chave lambda da mesma forma que usa def para definir funções normais.

Portanto, no exemplo, vamos usar a função lambda dentro de map (). A função lambda multiplicará cada valor na lista por 10.

Exemplo:

my_list = [2,3,4,5,6,7,8,9]updated_list = map(lambda x: x * 10, my_list)print(updated_list)print(list(updated_list))

Resultado:

[20, 30, 40, 50, 60, 70, 80, 90]

Usando vários iteradores dentro da função map ()

Exemplo 1: passando dois iteradores de lista para map ()

Você pode enviar mais de um iterador, ou seja, uma lista, uma tupla, etc., tudo ao mesmo tempo para a função map ().

Por exemplo, se você deseja adicionar duas listas. O mesmo pode ser feito usando a função map (). Faremos uso de duas listas my_list1 e my_list2.

No exemplo abaixo, o primeiro item em my_list1 é adicionado ao primeiro item de my_list2. A função myMapFunc () leva em itens de my_list1 e my_list2 e retorna a soma de ambos.

Aqui está o exemplo de trabalho de adição de duas listas fornecidas usando a função map ().

def myMapFunc(list1, list2):return list1+list2my_list1 = [2,3,4,5,6,7,8,9]my_list2 = [4,8,12,16,20,24,28]updated_list = map(myMapFunc, my_list1,my_list2)print(updated_list)print(list(updated_list))

Resultado:

[6, 11, 16, 21, 26, 31, 36]

Exemplo 2: passando uma tupla e um iterador de lista para map ()

Vamos usar uma lista e um iterador de tupla na função map (). A função é fornecida para mapear - myMapFunc () obterá os itens da lista e Tupla. Os itens serão unidos com um sublinhado (_). O exemplo de trabalho é mostrado abaixo:

def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_list = ['a','b', 'b', 'd', 'e']my_tuple = ('PHP','Java','Python','C++','C')updated_list = map(myMapFunc, my_list,my_tuple)print(updated_list)print(list(updated_list))

Resultado:

['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Resumo

  • Python map () é uma função embutida que aplica uma função em todos os itens de um iterador fornecido como entrada. Um iterador, por exemplo, pode ser uma lista, uma tupla, uma string etc. e retorna um objeto de mapa iterável.
  • A função map () vai aplicar a função dada em todos os itens dentro do iterador e retornar um objeto de mapa iterável, ou seja, uma tupla, uma lista, etc.
  • A função map () do Python é uma função embutida e também pode ser usada com outras funções embutidas disponíveis no Python.
  • Uma tupla é um objeto em Python que possui itens separados por vírgulas e entre colchetes. No exemplo, tomaremos uma tupla com valores de string. A função que usaremos converterá os valores dados em maiúsculas.
  • Um dicionário em Python é criado usando chaves ({}). Como o dicionário é um iterador, você pode usá-lo dentro da função map ().
  • Definido em Python é uma coleção não ordenada de itens entre chaves (()). Como set () também é um iterador, você pode fazer uso dele dentro da função map ().
  • Em Python, expressões lambda (ou formas lambda) são utilizadas para construir funções anônimas. Portanto, a palavra-chave lambda deve ser usada quando você quiser usar lambda dentro do map ().
  • Você pode enviar mais de um iterador, ou seja, uma lista, uma tupla para a função map ().