number_str = "156,78,96,104,54,162,199,122,66,120"
number_sp = number_str.split(",")
number_list = list(number_sp)
number_list.sort(reverse=True)
print(number_list)
想让列表最后倒序排列,为什么结果不正确
在此代码中,分隔符""
应该被替换为逗号,
,才能将字符串正确地分隔成数字列表。此外,如果要将数字列表按照数值降序排序,需要使用参数key=int
,告诉sort()
函数将字符串转换为整数进行排序。以下是修改后的代码:
number_str = "156,78,96,104,54,162,199,122,66,120"
number_sp = number_str.split(",")
number_list = list(number_sp)
number_list.sort(reverse=True, key=int)
print (number_list)
运行输出结果为:
['199', '162', '156', '122', '120', '104', '96', '78', '66', '54']
可以看到,经过修改后的代码成功将数字列表倒序排列。
回答不易,望采纳!
因为你没有把他转成 int 类型
因为是字符串一个一个的比,'9'肯定大于'1' 所以'96' > '199',改成这样:
number_str = "156,78,96,104,54,162,199,122,66,120"
number_sp = number_str.split(",")
number_list = list(number_sp)
number_list.sort(key=lambda x:int(x), reverse=True)
print(number_list)
有帮助的话,请点采纳该答案~