题目描述
输入个数进行排序,要求先按奇偶后按从小到大的顺序排序。
输入格式
第一行包含一个整数n。
第二行包含 n 个整数。
输出格式
输出排序之后的结果。
整数之间空格隔开。
数据范围
1≤≤1000,
输入整数取值范围[1,10000]。
解题思路
-
首先分离奇数和偶数,使用列表推导式将输入的数字分为奇数和偶数两个列表。
-
分别对奇数列表和偶数列表进行排序。
-
合并列表,将排序后的奇数列表和偶数列表合并。
-
输出结果,将合并后的列表转换为字符串,并用空格分隔每个数字。
代码示例
def xax(n, m):
odd = [num for num in m if num % 2 != 0]
even = [num for num in m if num % 2 == 0]
odd.sort()
even.sort()
x = odd + even
return ' '.join(map(str, x))
n = int(input())
m = list(map(int, input().split()))
y = xax(n, m)
print(y)