标签: map-function

我可以在map函数中使用索引信息吗?

我们假设有一个列表a = [1, 3, 5, 6, 8].

我想在该列表上应用一些转换,我想避免按顺序执行它,所以map(someTransformationFunction, a)通常可以做到这一点,但是如果转换需要了解每个对象的索引呢?

例如,假设每个元素必须乘以其位置.所以列表应该转换为a = [0, 3, 10, 18, 32].

有没有办法做到这一点?

python python-2.7 map-function

30
推荐指数
3
解决办法
1万
查看次数

Python:过滤器(函数,序列)和映射(函数,序列)之间的区别

我正在阅读Python文档,以深入了解Python语言并遇到过滤器和地图功能.我之前使用过滤器,但从未映射过,虽然我已经在SO上看到了各种Python问题.

在Python教程中阅读了它们之后,我对两者之间的区别感到困惑.例如,从5.1.3开始.功能编程工具:

>>> def f(x): return x % 2 != 0 and x % 3 != 0
...
>>> filter(f, range(2, 25))
[5, 7, 11, 13, 17, 19, 23]
Run Code Online (Sandbox Code Playgroud)

>>> def cube(x): return x*x*x
...
>>> map(cube, range(1, 11))
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
Run Code Online (Sandbox Code Playgroud)

这些看起来与我的功能几乎完全相同,所以我进入终端以交互方式运行Python并测试了我自己的情况.我用于map上面的第一个和第二个实例,并且对于第一个实例(return x % 2 != 0 and x % 3 != 0)它返回了一个布尔值而不是数字列表.

为什么map有时会返回布尔值,有时会返回实际返回值?

有人可以向我解释一下map和之间的区别filter吗?

python functional-programming filterfunction map-function

29
推荐指数
2
解决办法
2万
查看次数

Python:类似于`map`的东西,适用于线程

我确信在标准库中有这样的东西,但似乎我错了.

我有一堆我想urlopen并行的网址.我想要内置map函数,除了工作由一堆线程并行完成.

是否有一个很好的模块可以做到这一点?

python parallel-processing multithreading map-function

26
推荐指数
3
解决办法
1万
查看次数

Python`map`和参数解包

我知道

map(function, arguments)
Run Code Online (Sandbox Code Playgroud)

相当于

for argument in arguments:
    function(argument)
Run Code Online (Sandbox Code Playgroud)

是否可以使用map功能执行以下操作?

for arg, kwargs in arguments:
    function(arg, **kwargs)
Run Code Online (Sandbox Code Playgroud)

python map-function

26
推荐指数
2
解决办法
1万
查看次数

python:可以减少被翻译成map,lambda和filter这样的列表推导吗?

当在Python编程,我现在避免map,lambdafilter通过使用列表理解,因为它是在执行中更容易阅读和更快.但也reduce可以替换?

例如,对象具有union()在另一个对象上工作的运算符a1.union(a2),并且给出相同类型的第三个对象.

我有一个对象列表:

L = [a1, a2, a3, ...]
Run Code Online (Sandbox Code Playgroud)

如何将所有这些对象的union()与列表推导相对应,相当于:

result = reduce(lambda a, b :a.union(b), L[1:], L[0])
Run Code Online (Sandbox Code Playgroud)

python reduce list map-function

24
推荐指数
4
解决办法
1万
查看次数

地图功能条件

Scala中有什么东西,

condition ? first_expression : second_expression;
Run Code Online (Sandbox Code Playgroud)

我可以在scala中使用map函数吗?我希望能够写出这样的东西:

val statuses = tweets.map(status => status.isTruncate? //do nothing | status.getText())
Run Code Online (Sandbox Code Playgroud)

如果无法使用内联函数,如何在其中写入条件map

scala apache-spark spark-streaming map-function

21
推荐指数
2
解决办法
3万
查看次数

多处理pool.map按特定顺序调用函数

如何使multiprocessing.pool.map按数字顺序分配进程?


更多信息:
我有一个程序可以处理几千个数据文件,并绘制每个文件的图.我正在使用a multiprocessing.pool.map将每个文件分发到处理器,它运行良好.有时这需要很长时间,在程序运行时查看输出图像会很好.如果地图进程按顺序分发快照,这将会容易得多; 相反,对于我刚刚执行的特定运行,分析的前8个快照是: 0, 78, 156, 234, 312, 390, 468, 546.有没有办法让它按数字顺序更紧密地分配它们?


示例:
这是一个包含相同键元素的示例代码,并显示相同的基本结果:

import sys
from multiprocessing import Pool
import time

num_proc  = 4; num_calls = 20; sleeper   = 0.1

def SomeFunc(arg):
    time.sleep(sleeper)
    print "%5d" % (arg),
    sys.stdout.flush()     # otherwise doesn't print properly on single line

proc_pool = Pool(num_proc)
proc_pool.map( SomeFunc, range(num_calls) )
Run Code Online (Sandbox Code Playgroud)

产量:

   0  4  2  6   1   5   3   7   8  10  12  14  13  11   9  15  16  18  17  19
Run Code Online (Sandbox Code Playgroud)

回答:

来自@Hayden:使用'chunksize'参数, …

python parallel-processing multiprocessing map-function

20
推荐指数
1
解决办法
8267
查看次数

Python 3与Python 2映射行为

在Python 2中,一个常见的(旧的,遗留的)习惯用于使用map如下形式连接不均匀长度的迭代器map(None,iter,iter,...):

>>> map(None,xrange(5),xrange(10,12))
[(0, 10), (1, 11), (2, None), (3, None), (4, None)]
Run Code Online (Sandbox Code Playgroud)

在Python 2中,它被扩展,以便最长的迭代器是返回列表的长度,如果一个比另一个短,则用它填充None.

在Python 3中,这是不同的.首先,你不能None用作位置1中可调用的参数:

>>> list(map(None, range(5),range(10,12)))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable
Run Code Online (Sandbox Code Playgroud)

好的 - 我可以解决这个问题:

>>> def f(*x): return x    
... 
>>> list(map(f, *(range(5),range(10,12))))
[(0, 10), (1, 11)]
Run Code Online (Sandbox Code Playgroud)

但现在,我有一个不同的问题:map返回最短迭代器的长度 - 不再填充None.

当我将Python 2代码移植到Python 3时,这不是一个非常罕见的习惯用法,我还没有找到一个简单易用的解决方案.

不幸的是,2to3的工具,挑这件事-帮倒忙提示:

-map(None,xrange(5),xrange(10,18)) …
Run Code Online (Sandbox Code Playgroud)

python python-3.x map-function

19
推荐指数
2
解决办法
8842
查看次数

Python 3 Map函数不是Calling up函数

为什么以下代码不打印任何内容:

#!/usr/bin/python3
class test:
    def do_someting(self,value):
        print(value)
        return value

    def fun1(self):
        map(self.do_someting,range(10))

if __name__=="__main__":
    t = test()
    t.fun1()
Run Code Online (Sandbox Code Playgroud)

我正在Python 3中执行上面的代码.我想我错过了一些非常基本但却无法解决的问题.

python functional-programming python-3.x map-function

19
推荐指数
2
解决办法
1万
查看次数

为什么map(print,a_list)不起作用?

对于正常功能,map效果很好:

def increment(n):
    return n+1
l = [1, 2, 3, 4, 5]
l = map(increment, l)
print l
>>> [2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

但是,如果它print被放入map函数内:

l = [1, 2, 3, 4, 5]
l = map(print, l)
print l
Run Code Online (Sandbox Code Playgroud)

python会抱怨:

l = map(print, l)
            ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

有什么print特别的?不print(x)也是一个有效的函数调用?上面的代码在python 2.7下测试.

python python-2.7 map-function

17
推荐指数
2
解决办法
9440
查看次数