Python: Map Function to List

By Xah Lee. Date: . Last updated: .

Map Function to List

The map function applies a function to all elements of a list.

map(ƒ, list) → applies function ƒ to all elements in list. Return the new list. (does not modify the original list)

# -*- coding: utf-8 -*-
# python

def ff(n):
    return n*n

print map(ff, [1,2,3,4])         # [1, 4, 9, 16]
# -*- coding: utf-8 -*-
# python

def ff(n):
    return n+1

print map(ff, [1,2,3,4])        # [2, 3, 4, 5]

map(ƒ, list1, list2, list3, …) → applies ƒ to all lists in parallel. That is, first element of result would be ƒ(e1,e2,e3) where its args are first elemet of each list. ƒ should take same number args as there are lists. All lists must have same number of elements (if short, None is used). Return the new list.

# -*- coding: utf-8 -*-
# python

def ff(x1, x2, x3):
    return str(x1)+ str(x2) + str(x3)

print map(ff, [1, 2, 3], ["a", "b", "c"], [4, 5, 6])
# ['1a4', '2b5', '3c6']

2. Built-in Functions — Python v2.7.6 documentation

Removing Elements in a List

To remove elements in a list that satisfies some criterion, use the function filter(ƒ, list). The ƒ will be applied to each element in the list. If ƒ(element) returns False, then that element will not be in the resulting list.

# -*- coding: utf-8 -*-
# python

aa = range(11)                  # list 0 to 10

def ff(n): return n % 2 == 0    # return True if divisible by 2

bb = list(filter( ff, aa))  # python 2, “filter” returns a list
# in python 3, “filter” returns iterator object. Use list() to convertt to list.

print(bb2)                      # [0, 2, 4, 6, 8, 10]

Ask me question on patreon