python中n个数字按照绝对值大小排序,求解答
3个回答
展开全部
list = [36, 5, -12, 9, -21]
list = sorted(list, key=abs)
print(list)
输出:[5, 9, -12, -21, 36]
这么写才对吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a= [1,-2,3,-4,0]
print sorted(map(abs,a))
'''
[0, 1, 2, 3, 4]
'''
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
def maopao(alist):
n = len(alist)
for j in range(n, 0, -1):
count = 0
for i in range(n - 1):
if alist[i] < 0 and alist[i + 1] < 0:
if -alist[i] < -alist[i + 1]:
alist[i], alist[i + 1] = alist[i + 1], alist[i]
count += 1
elif alist[i] < 0 and alist[i + 1] > 0:
if - alist[i] > alist[i + 1]:
alist[i], alist[i + 1] = alist[i + 1], alist[i]
count += 1
elif alist[i] > 0 and alist[i + 1] < 0:
if alist[i] > -alist[i + 1]:
alist[i], alist[i + 1] = alist[i + 1], alist[i]
count += 1
elif alist[i] > alist[i + 1]:
alist[i], alist[i + 1] = alist[i + 1], alist[i]
count += 1
if count == 0:
return
if __name__ == '__main__':
li = [-2, 1, 3, -6] # 比较绝对值大小排序
print(li)
maopao(li)
print(li)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询