Python 让所有奇数都在偶数前面,而且奇数升序排列,偶数降序排序

这个问题的要求是:

让所有奇数都在偶数前面,而且奇数升序排列,偶数降序排序,比如说
字符串’1982376455’,变成’1355798642’

具体代码:

def func1(l):
    if isinstance(l, str):        #isinstance()是判断l是不是str类型
        l = [int(i) for i in l]  #转成成list [1, 9, 8, 2, 3, 7, 6, 4, 5, 5]
    l.sort(reverse=True)         #从大到小排序
    for i in range(len(l)):
        if l[i] % 2 > 0:
            l.insert(0, l.pop(i))
    newstr=''.join(str(e) for e in l)   #列表转字符串
    print(newstr)

if __name__ == '__main__':
    oldstr='1982376455'
    func1(oldstr)

最后的结果:

1355798642

你可能感兴趣的:(【Python高级】)