Python:将整数重新排列为最大回文数 - python

我编写了以下代码来解决主题“将整数值重新排列为最大回文数”

例:

输入数据为485,输出应为“非回文数”

输入数据为445,输出应为454

输入数据为24266,输出应为62426(最大回文,而不是26462)

请看看并帮助我纠正此问题

我遇到的问题:
输入112->仅返回2

谢谢!

def largest_palindrome(self, number):
        a = list(str(number))
        duplicate = [item for item, count in collections.Counter(a).items() if count > 1]
        if (round(len(a)/2,0) != len(duplicate)):
            print 'Not palindrome number'
        else:
            uniq = []
            max_item = a[0]
            for i in range (1, len (a)):
                if a[i] > max_item:
                    max_item = a[i]
                    uniq=uniq.append(max_item)
            return uniq

python大神给出的解决方案

import itertools

print "".join(max(x for x in itertools.permutations("100") if x == tuple(reversed(x))))

换句话说:找到所有排列,选择回文,找到最大的排列,然后显示出来。