Get Shape Key from Action or FCurve in Python? I've been messing around with this for a while and I can't seem to find the connection between fcurves and the specific shape key values they control.

I can use something like the following: 
bpy.data.actions['KeyAction'].fcurves[0].data_path
to get:'key_blocks["sitFix"].value'

But how do I get the shape key list that "sitFix" is in?
bpy.data.shape_keys['Key'].key_blocks["sitFix"]
i.e. 'Key' in this instance

Searching by name doesn't look like it will work, as Blender allows different shape key blocks to use the same name within different shape key lists, so there's a 'sitFix' in both 'Key' and 'Key.001'

Ultimately, I'm trying to see which mesh is being affected by a particular fcurve, but here I've hit a break in the chain connecting them.
key_block names can be used for different shape key lists, which means same shape key name but different objects. Every object uses its own action, thus you need to use the action the object references (Object.data.shape_keys.animation_data.action). See:

# Cube

&gt;&gt;&gt; bpy.data.objects['Cube'].data.shape_keys.animation_data.action.fcurves[0].data_path
'key_blocks["Key 1"].value'

&gt;&gt;&gt; bpy.data.objects['Cube'].data.shape_keys.animation_data.action.fcurves[0].id_data
bpy.data.actions['KeyAction']


# Cube.001

&gt;&gt;&gt; bpy.data.objects['Cube.001'].data.shape_keys.animation_data.action.fcurves[0].data_path
'key_blocks["Key 1"].value'

&gt;&gt;&gt; bpy.data.objects['Cube.001'].data.shape_keys.animation_data.action.fcurves[0].id_data
bpy.data.actions['Key.001Action']