map() 會根據提供的函數對指定序列作映射。python
map(function, iterable, ...)
第一個參數function 以參數序列中的每個元素調用 function 函數,返回包含每次 function 函數返回值的新列表(python2.x返回列表,Python 3.x 返回迭代器)。c++
>>> 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運算,同時能夠傳入三個參數,第三個參數做爲初值。spa
map是c++的一個標準容器,是一類關聯式容器。指針
它的特色是添加和刪除節點對迭代器的影響很小,除了那個操做節點,對其餘的節點都沒有什麼影響。對於迭代器來講,能夠修改實值,而不能修改key。code
自動創建Key -value的對應,key 和value能夠是任意你須要的類型。對象
map函數的功能:根據key值快速查找記錄,查找的複雜度基本是Log(N);快速插入Key - Value 記錄;快速刪除記錄:根據Key 修改value記錄;遍歷全部記錄。blog
使用map得包含map類所在的頭文件 #include <map>
<!--//注意,STL頭文件沒有擴展名.h-->索引
map對象是模板類,須要關鍵字和存儲對象兩個模板參數:std:map<int, string> personnel;
這樣就定義了一個用int做爲索引,並擁有相關聯的指向string的指針。get
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的函數