How to activate the output of a dynamic paint canvas via python?
Try this:

import bpy
dynamic = bpy.context.selected_objects[:]
bpy.ops.object.select_all(action='DESELECT')
for i in dynamic:
    i.select = True
    bpy.context.scene.objects.active = i
    bpy.ops.dpaint.output_toggle(output='A')
    i.select = False


The [:] bit at the end of line 2 creates a copy of the list instead of using a reference to the bpy.context.selected_objects, that might be affected by changes in the state of selection of the scene's objects.

The bpy.context.scene.objects.active = i makes each object active as well as selected. Many operators act on the active object only and ignore other selected objects.