Applying lots of shape keys with blends using Python not working? also, is there another way?
Got this working:

import bpy

obj = bpy.context.object
spIndex = obj.active_shape_key_index
i = 0

### EDITABLE VARIABLES ###
last = "fullbody"       # Last shapekey to save
add =  "_applied"       # Add this to new blendshape's name

shapekeysList = []
shapekeyValues = []

for sp in obj.data.shape_keys.key_blocks:
    if last in sp.name:
        break
    shapekeysList.append(sp)
    shapekeyValues.append(sp.value)
    sp.value = 0
    print (shapekeysList[i].name + " | Value saved: " +  str(shapekeyValues[i]))
    i += 1

print ('\nFinished saving shape keys\n')
i = spIndex

while i &lt; len(shapekeysList):
    shapekeysList[i].value = 1                                  # enable shapekey before copying
    print (shapekeysList[i].name + " | " + str(shapekeysList[i].value))

    obj.active_shape_key_index = i                    # select shape key to mix

    obj.shape_key_add(name=str(obj.active_shape_key.name) + add, from_mix=True)   #apply shapekey
    obj.active_shape_key_index = i                    # select original selection
    #bpy.ops.object.shape_key_remove()                           # delete blended shape key
    shapekeysList[i].value = 0
    #obj.active_shape_key_index += 1                             # select next in list
    i += 1