How to sort multi-user objects?
It's probably not optimal but I found a method that works:

multi_user_list = []

for obj in bpy.data.objects:
    if obj.layers[0]:
        if obj.data.users &gt; 1:
            multi_user_list.append(obj)

group_list = []
group = []

for obj in multi_user_list[:]:
    for ob in multi_user_list[:]:
        if obj.data == ob.data:

            group.append(ob.name)
            if ob in multi_user_list:
                multi_user_list.remove(ob)

    if group:
        group_list.append(group)
    group = []

print(group_list)