def cmpWith(num):

    def compare(item):
        """ calculate the difference between num and item """
return sum(abs(int(n) - int(x)) for x, n in zip(item, num))
return compare
lst = ['111', '222', '333', '444', '555', '123']
print(sorted(lst, key=cmpWith('511')))
Упорядочить список по всем цифрам элемента в Python