Ordenar lista de lista con función de comparación personalizada en Python

Sé que hay varias preguntas con este nombre, pero parece que no puedo hacer que sus respuestas funcionen.

Tengo una lista de listas, 50 veces 5 elementos. Ahora quiero ordenar esta lista aplicando una función de comparación personalizada a cada elemento. Esta función calcula la idoneidad de la lista por la cual se ordenarán los elementos. Creé dos funciones, comparar y fitness:

def compare(item1, item2):
    return (fitness(item1) < fitness(item2))

def fitness(item):
    return item[0]+item[1]+item[2]+item[3]+item[4]

Luego intenté llamarlos por:

sorted(mylist, cmp=compare)

sorted(mylist, key=fitness)

sorted(mylist, cmp=compare, key=fitness)

sorted(mylist, cmp=lambda x,y: compare(x,y))

También probé list.sort () con los mismos parámetros. Pero en cualquier caso, las funciones no obtienen una lista como argumento sino unaNone. No tengo idea de por qué, viniendo principalmente de C ++, esto contradice cualquier idea de una función de devolución de llamada para mí. ¿Cómo puedo ordenar estas listas con una función personalizada?

Edita Encontré mi error. En la cadena que crea la lista original, una función no devolvió nada, pero se utilizó el valor de retorno. Disculpa por la molesti

Respuestas a la pregunta(3)

Su respuesta a la pregunta