The merge() function (which we've used for years in GRID, ArcView, and ArcGIS Desktop) simply doesn't exist in ArcPy map algebra.
I came up with a Python map algebra implementation (with some nice refinements from a friend on the Spatial Analyst dev team). Give it a spin and let me know if you are successful with it!
import arcpy from arcpy.sa import * arcpy.CheckOutExtension("spatial") def Merge(raster_list): """Merge a list of rasters. The first non-NoData value found (cell by cell) is kept. Merge([raster1, raster2, raster3, ...]) This is another implementation of ArcGIS 9x Map Algebra merge() function""" if type(raster_list) == str: raster_list = raster_list.split(";") if len(raster_list) < 2: raise Exception("More than one raster required") # create list of raster objects to merge rlist = [Raster(arcpy.Describe(ras).catalogPath) for ras in raster_list] merge_ras = rlist[0] for ras in rlist[1:]: merge_ras = Con(IsNull(merge_ras), ras, merge_ras) return merge_ras