在实际运行过程中所得到的结果好像无大差别?(还是我举的数据不多?)
-代码块1
list1=eval(input())
list2 = sorted(list1,key=lambda x:(abs(x),x),reverse=True)
print(list2)
print(','.join(map(str,list2)))
代码块2
```python
list1=eval(input())
list2 = sorted(list1,key=lambda x:abs(x),reverse=True)
print(','.join(map(str,list2)))
```
我也挺好奇的,所以试着跑了一些数据
输入:
[-6, 6, -6, 1, -1, 1, 5, 4, 3, -3, 3]
输出:
6,-6,-6,5,4,3,3,-3,1,1,-1
-6,6,-6,5,4,3,-3,3,1,-1,1
对比结果确实不同,乍一看应该是输出1是先排序后绝对值,输出2是先绝对值后排序?
list1=[9,8,1,10,-11]
for i in list1:
print((abs(i),i))
for j in list1:
print(abs(j))
输出:
(9, 9)
(8, 8)
(1, 1)
(10, 10)
(11, -11)
9
8
1
10
11
其实是两个函数,上面返回的是元组。