列表按绝对值排序
输入一个列表,要求列表中的每个元素都为整数;将列表中的所有元素按照它们的绝对值大小进行排序,绝对值相同的还保持原来的相对位置,打印排序后的列表(绝对值大小仅作为排序依据,打印出的列表中元素仍为原列表中的元素)。
可以使用以下实现列表alist的输入:
alist=list(map(int,input().split()))
输入格式:
共一行,列表中的元素值,以空格隔开。
输出格式:
共一行,为一个列表。
输入样例:
-2 1 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)
# min_index = list1.index(a)
# b = list
# list = list
# list = 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) 可以直接用一行代码搞定:
sorted(list(map(int, input().split())), key = lambda elem: abs(elem)) qiuyouzhi 发表于 2020-10-27 18:39
可以直接用一行代码搞定:
匿名函数的简化功能{:5_106:}
页:
[1]