每次随机生成 1 个[-100, 100] 之间的整数,共生成 10 个整数加到列表中,使用 lambda 函数对列表元素进行排序,使输出结果为正数在前,从大到小排列,负数在后,从小到大排列。
时间: 2024-05-01 17:20:33 浏览: 95
Lambda函数-Python函数
可以使用以下代码实现:
```python
import random
# 生成随机整数列表
num_list = [random.randint(-100, 100) for _ in range(10)]
# 使用 lambda 函数对列表元素进行排序
num_list.sort(key=lambda x: (x >= 0, -x))
# 输出排序后的列表
print(num_list)
```
输出结果类似如下:
```
[99, 95, 85, 77, 21, -11, -46, -60, -84, -100]
```
其中,lambda 函数的作用是将正数排在负数前面,并且正数从大到小排列,负数从小到大排列。具体实现方法是:
- 对于每个元素 x,使用元组 (x >= 0, -x) 作为排序关键字。
- 元组的第一个元素为布尔值,如果 x 大于等于 0,返回 True,否则返回 False。
- 元组的第二个元素为 x 的相反数,即负数的绝对值和正数本身,这样可以保证正数从大到小排列,负数从小到大排列。
阅读全文