zoukankan      html  css  js  c++  java
  • [ Skill ] map mapc mapcan mapcar mapcon maplist mapinto

    https://www.cnblogs.com/yeungchie/

    几种 map 函数的差异

    map

    map(
      lambda(( a b )
        println( list( a b ))
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; ((1 2 3) (4 5 6))
    ; ((2 3) (5 6))
    ; ((3) (6))
    ; => (1 2 3)
    

    mapc

    mapc(
      lambda(( a b )
        println( list( a b ))
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; (1 4)
    ; (2 5)
    ; (3 6)
    ; => (1 2 3)
    

    mapcan

    mapcan(
      lambda(( a b )
        println( list( a b ))
        list( a + b )
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; (1 4)
    ; (2 5)
    ; (3 6)
    ; => (5 7 9)
    

    mapcar

    mapcar(
      lambda(( a b )
        println( list( a b ))
        a + b
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; (1 4)
    ; (2 5)
    ; (3 6)
    ; => (5 7 9)
    

    mapcon

    mapcon(
      lambda(( a b )
        println( list( a b ))
        list(a b)
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; ((1 2 3) (4 5 6))
    ; ((2 3) (5 6))
    ; ((3) (6))
    ; => ((1 2 3) (4 5 6) (2 3) (5 6) (3) (6))
    

    maplist

    maplist(
      lambda(( a b )
        println( list( a b ))
        list(a b)
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; ((1 2 3) (4 5 6))
    ; ((2 3) (5 6))
    ; ((3) (6))
    ; => (((1 2 3) (4 5 6)) ((2 3) (5 6)) ((3) (6)))
    

    mapinto

    mapinto(
      list( 0 0 0 0 0 )
      lambda(( a b )
        println( list( a b ))
        a + b
      )
      list( 1 2 3 )
      list( 4 5 6 )
    )
    ; (1 4)
    ; (2 5)
    ; (3 6)
    ; => (5 7 9 0 0)
    
  • 相关阅读:
    可爱精灵宝贝 DP/爆搜
    那些年留的坑
    吃某种零食ing
    NOIP模拟测试13
    NOIP模拟测试12
    NOIP模拟测试11
    大佬 (数学)
    BZOJ3331 BZOJ2013 压力
    LOJ2586 APIO2018 选圆圈
    BZOJ3398 牡牛和牝牛
  • 原文地址:https://www.cnblogs.com/yeungchie/p/15760858.html
Copyright © 2011-2022 走看看