map函數在Python中的應用
函數介紹:

map() 會根據提供的函數對指定序列做映射

  map(function, iterable, ...) 第一個參數function 以參數序列中的每一個元素調用 function 函數,返回包含每次 function 函數返回值的新列表(python2.x返回列表,Python 3.x 返回迭代器)。

實例:
>>> def square(x) :            # 計算平方數
    return x**2

>>> map(square, [1,2,3,4,5,6])   # 計算列表各個元素的平方
[1, 4, 9, 16, 25, 36]
>>>map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函數
[1, 4, 9, 16, 25]

補充:reduce()函數

  reduce()函數也是python內置的高階函數,可以把所有的元素進行f運算,同時可以傳入三個參數,第三個參數作為初值。

map函數在C++中的應用
函數介紹:

  map是c++的一個標準容器,是一類關聯式容器。

  它的特點是添加和刪除節點對迭代器的影響很小,除了那個操作節點,對其他的節點都沒有什麼影響。對於迭代器來説,可以修改實值,而不能修改key。

自動建立Key -value的對應,key 和value可以是任意你需要的類型。

  map函數的功能:根據key值快速查找記錄,查找的複雜度基本是Log(N);快速插入Key - Value 記錄;快速刪除記錄:根據Key 修改value記錄;遍歷所有記錄。

實例:

  使用map得包含map類所在的頭文件 #include <map>    <!--//注意,STL頭文件沒有擴展名.h-->

  map對象是模板類,需要關鍵字和存儲對象兩個模板參數:std:map<int, string> personnel; 這樣就定義了一個用int作為索引,並擁有相關聯的指向string的指針。

map的基本操作函數:
begin()             返回指向map頭部的迭代器 

clear()             刪除所有元素 

count()             返回指定元素出現的次數

empty()             如果map為空則返回true 

end()               返回指向map末尾的迭代器 

equal_range()       返回特殊條目的迭代器對

erase()             刪除一個元素

find()              查找一個元素

get_allocator()     返回map的配置器

insert()            插入元素

key_comp()          返回比較元素

key的函數 lower_bound()   返回鍵值>=給定元素的第一個位置

max_size()          返回可以容納的最大元素個數

rbegin()            返回一個指向map尾部的逆向迭代器

rend()              返回一個指向map頭部的逆向迭代器

size()              返回map中元素的個數

swap()              交換兩個map 

upper_bound()       返回鍵值>給定元素的第一個位置

value_comp()        返回比較元素value的函數