马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输入一个列表,要求列表中的每个元素都为整数;
将列表中的所有元素按照它们的绝对值大小进行排序,绝对值相同的还保持原来的相对位置,打印排序后的列表(绝对值大小仅作为排序依据,打印出的列表中元素仍为原列表中的元素)。
可以使用以下实现列表alist的输入:
alist=list(map(int,input().split()))
输入格式:
共一行,列表中的元素值,以空格隔开。
输出格式:
共一行,为一个列表。
输入样例:
-2 1 3
输出样例:
[1, -2, 3]
# 下面自己的程序耗时长,低效率
# def sort_abs(list):
# list1 = []
# for each in list:
# list1.append(abs(each))
# if len(list) > 1:
# for i in range(len(list)):
# a = min(list1[i:])
# min_index = list1.index(a)
# b = list[min_index]
# list[min_index] = list[i]
# list[i] = b
# print(list)
# alist = list(map(int, input().split()))
# sort_abs(alist)
# 提示用sort方法排序
def abs_key(elem):
return abs(elem)
alist = list(map(int, input().split()))
alist.sort(key=abs_key)
print(alist)
|