一行代码对列表list1排序,list1=[-3,1,15,7-9,8,8-4,6]要求负数升序排列,正数降序排列,结果为[-9,-4,-3,15,8,8,7,6,1]
时间: 2023-10-26 19:19:49 浏览: 77
按照规则,对list排序
可以使用Python的sort()方法和lambda函数对列表进行排序,代码如下:
```
list1 = [-3,1,15,7-9,8,8-4,6]
list1.sort(key=lambda x: (x >= 0, abs(x)))
print(list1)
```
输出结果为:`[-9, -4, -3, 15, 8, 8, 7, 6, 1]`。
这里的lambda函数定义了排序的规则,首先按照正负号分组,负数排在前面,正数排在后面。对于每一组,再按照数值的绝对值升序排列。这样就能够满足题目的要求了。
阅读全文