将一些整数按倒置值从小到大排序后输出。倒置是指把整数的各个数位倒过来构成一个新数,例如:13倒置成了31。若倒置值相同则按原数的从小到大排序,例如130和13,倒置数都是31,则13排在130前面。 输入格式: 首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试先输入一个整数n(n≤80),然后输入n个非负整数。 输出格式: 对于每组测试,结果占一行,输出排序后的结果,数据之间留一个空格。 输入样例: 2 4 83 13 24 36 4 99 100 123 12345 输出样例: 13 83 24 36 100 99 123 12345
时间: 2024-03-20 11:42:06 浏览: 292
用数组定义,随机输入100以内整数,然后倒序输出
这道题可以用 Python 的 lambda 函数作为排序的 key,将每个整数按照倒置值从小到大排序。具体实现如下:
```python
def reverse_num(num):
return int(str(num)[::-1])
t = int(input())
for _ in range(t):
n = int(input())
nums = list(map(int, input().split()))
nums.sort(key=lambda x: (reverse_num(x), x))
print(' '.join(map(str, nums)))
```
首先定义一个 `reverse_num` 函数,用于将整数按照倒置值进行排序。然后对于每组测试数据,读入整数列表后,通过 `sort` 方法对整数列表进行排序,其中 `key` 参数传入 lambda 函数,将每个整数按照倒置值和原始值进行排序。最后将排序后的整数列表输出即可。
阅读全文