dask.bag.Bag.starmap
dask.bag.Bag.starmap¶
- Bag.starmap(func, **kwargs)[源代码]¶
使用给定包中的参数元组应用函数。
这与
itertools.starmap
类似,但它也接受关键字参数。用伪代码表示,这可以写成:>>> def starmap(func, bag, **kwargs): ... return (func(*args, **kwargs) for args in bag)
- 参数
- 函数可调用
- **kwargsItem, Delayed, 或 object, 可选
传递给
func
的额外关键字参数。这些可以是普通对象、dask.bag.Item
或dask.delayed.Delayed
。
示例
>>> import dask.bag as db >>> data = [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)] >>> b = db.from_sequence(data, npartitions=2)
对每个参数元组应用一个函数:
>>> from operator import add >>> b.starmap(add).compute() [3, 7, 11, 15, 19]
对每个参数元组应用一个函数,并带有额外的关键字参数:
>>> def myadd(x, y, z=0): ... return x + y + z >>> b.starmap(myadd, z=10).compute() [13, 17, 21, 25, 29]
关键字参数也可以是
dask.bag.Item
或dask.delayed.Delayed
的实例:>>> max_second = b.pluck(1).max() >>> max_second.compute() 10 >>> b.starmap(myadd, z=max_second).compute() [13, 17, 21, 25, 29]