Python的列表、元组、字典、集合

问题遇到的现象和发生背景

函数main()接收一个包含若干整数的元组data作为参数,对其中的整数进行重新排列,要求所有奇数在前且升序排列,所有偶数在后且降序排列,返回处理后得到的新元组。

问题相关代码,请勿粘贴截图
def main(data):

我想要达到的结果

main((1, 2, 3, 4, 5, 6, 7))返回

题目没写完,返回(1,3,5,7,6,4,2)?

def main(data):
    odd=[i for i in data if i%2]
    even=[i for i in data if i%2==0]
    return (*sorted(odd),*sorted(even,reverse=True))

print(main((1,2,3,4,5,6,7)))