|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
复制代码 |
|