PHP前端开发

Map

百变鹏仔 2个月前 (02-07) #Python
文章标签 Map

python3.6

map(func, *iterables) --> map objectMake an iterator that computes the function using arguments fromeach of the iterables. Stops when the shortest iterable is exhausted.
map(func, *iterables) --> map object

 

 

例: 自定义函数模拟内置函数map,列表自增减1及平方

内置函数map实现列表自增减1及平方

li = [1, 2, 3, 4, 5, 6, 7, 8, 9<span style="color: #000000">]</span><span style="color: #008000">#</span><span style="color: #008000"> 自增1</span><span style="color: #0000ff">print</span>(list(map(<span style="color: #0000ff">lambda</span> x: x + 1<span style="color: #000000">, li)))</span><span style="color: #008000">#</span><span style="color: #008000"> 自减1</span><span style="color: #0000ff">print</span>(list(map(<span style="color: #0000ff">lambda</span> x: x - 1<span style="color: #000000">, li)))</span><span style="color: #008000">#</span><span style="color: #008000"> 平方</span><span style="color: #0000ff">print</span><span style="color: #000000">(    list(        map(</span><span style="color: #0000ff">lambda</span> x: x ** 2<span style="color: #000000">, li)    ))</span>

自定义函数实现

li = [1, 2, 3, 4, 5, 6, 7, 8, 9<span style="color: #000000">]</span><span style="color: #008000">#</span><span style="color: #008000"> 自增1</span><span style="color: #0000ff">def</span><span style="color: #000000"> add1(x):    </span><span style="color: #0000ff">return</span> x + 1<span style="color: #008000">#</span><span style="color: #008000"> 自减1</span><span style="color: #0000ff">def</span><span style="color: #000000"> red1(x):    </span><span style="color: #0000ff">return</span> x - 1<span style="color: #008000">#</span><span style="color: #008000"> 平方</span><span style="color: #0000ff">def</span><span style="color: #000000"> square(x):    </span><span style="color: #0000ff">return</span> x ** 2<span style="color: #0000ff">def</span><span style="color: #000000"> map_test(func, l):    tl </span>=<span style="color: #000000"> []    </span><span style="color: #0000ff">for</span> i <span style="color: #0000ff">in</span><span style="color: #000000"> l:        tl.append(func(i))    </span><span style="color: #0000ff">return</span><span style="color: #000000"> tl</span><span style="color: #008000">#</span><span style="color: #008000"> 调用上面定义的函数</span><span style="color: #0000ff">print</span><span style="color: #000000">(map_test(add1, li))</span><span style="color: #0000ff">print</span><span style="color: #000000">(map_test(red1, li))</span><span style="color: #0000ff">print</span>(map_test(square, li))

 

自定义函数+匿名函数实现

li = [1, 2, 3, 4, 5, 6, 7, 8, 9<span style="color: #000000">]</span><span style="color: #0000ff">def</span><span style="color: #000000"> map_test(func, l):    tl </span>=<span style="color: #000000"> []    </span><span style="color: #0000ff">for</span> i <span style="color: #0000ff">in</span><span style="color: #000000"> l:        tl.append(func(i))    </span><span style="color: #0000ff">return</span><span style="color: #000000"> tl</span><span style="color: #0000ff">print</span>(map_test(<span style="color: #0000ff">lambda</span> x: x + 1<span style="color: #000000">, li))</span><span style="color: #0000ff">print</span>(map_test(<span style="color: #0000ff">lambda</span> x: x - 1<span style="color: #000000">, li))</span><span style="color: #0000ff">print</span>(map_test(<span style="color: #0000ff">lambda</span> x: x ** 2, li))