Best way to transfer weight groups between two meshes with same topology?
Try this script if the vertex order is the same:

import bpy

# rename this to your Female &amp; Male names
target = bpy.data.objects["Male"]
pattern = bpy.data.objects["Female"]

# transfer vertex groups
for v_group in pattern.vertex_groups:
    target.vertex_groups.new(name=v_group.name)

# transfer vertex weights
for id, vert in enumerate(pattern.data.vertices):
    for v_group in vert.groups:
        target.vertex_groups[v_group.group].add([id], v_group.weight, 'REPLACE')