#NEWLINE# def fuse_getitem( dsk , func , place ) : #NEWLINE# #INDENT# " Fuse getitem with lower operation\n\n    Parameters\n    ----------\n    dsk: dict\n        dask graph\n    func: function\n        A function in a task to merge\n    place: int\n        Location in task to insert the getitem key\n\n    >>> def load(store, partition, columns):\n    ...     pass\n    >>> dsk = {'x': (load, 'store', 'part', ['a', 'b']),\n    ...        'y': (getitem, 'x', 'a')}\n    >>> dsk2 = fuse_getitem(dsk, load, 3)  # columns in arg place 3\n    >>> cull(dsk2, 'y')\n    {'y': (<function load at ...>, 'store', 'part', 'a')}\n    " #NEWLINE# return fuse_selections ( dsk , getitem , func , ( lambda a , b : ( ( tuple ( b [ : place ] ) + ( a [ 2 ] , ) ) + tuple ( b [ ( place + 1 ) : ] ) ) ) )