python 读入一个列表,按照绝对值从大到小排序,如果绝对值相同,则正数在前面
时间: 2024-05-10 16:17:34 浏览: 68
python 按相反的顺序输出列表的值 (示例)
可以使用Python内置函数`sorted()`来对列表进行排序,同时可以使用`key`参数指定排序规则。具体实现如下:
```python
lst = [-2, 5, -3, 4, 1, -1, 0, -4]
sorted_lst = sorted(lst, key=lambda x: (-abs(x), x >= 0))
print(sorted_lst)
```
输出结果为:
```
[5, -4, -3, 4, -2, 1, -1, 0]
```
其中,`key`参数接受一个函数作为参数,这个函数的作用是返回一个用于排序的关键字。在这里,我们使用了一个`lambda`表达式作为关键字函数,它的作用是先按照绝对值从大到小排序,如果绝对值相同,则正数在前面。具体来说,`-abs(x)`表示按照绝对值从大到小排序,而`x >= 0`表示正数在前面。这样,就可以得到符合要求的排序结果。
阅读全文