zoukankan      html  css  js  c++  java
  • map函数的应用

    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的函数 

     

  • 相关阅读:
    29.内置方法中之描述符
    28. 面向对象进阶之内置方法上
    Sort Colors*
    Implement Trie (Prefix Tree)
    Course Schedule
    Permutations
    Reverse Linked List
    Decode Ways
    Subsets *
    Longest Consecutive Sequence *
  • 原文地址:https://www.cnblogs.com/ST-2017/p/10637067.html
Copyright © 2011-2022 走看看