Python - 降序排序字符串数字
对列表进行反向排序是一项简单的任务,并且在许多情况下都得到了处理。随着机器学习和数据科学的兴起,有时我们可以获取数字列表格式的数据,但数据类型为字符串。在这种情况下,通用排序函数会给出错误的结果,因此必须采用其他几种方法来执行这些特定任务。让我们讨论执行此操作的方式。
方法#1:朴素的方法
在朴素的方法中,需要将所有元素类型转换为通过循环迭代的列表的整数。之后,使用通用排序函数来执行任务。降序排序是通过反向传递来完成的。
# Python3 code to demonstrate
# Descending Sort String Numbers
# using naive method
# initializing list
test_list = [ '4', '6', '7', '2', '1']
# printing original list
print ("The original list is : " + str(test_list))
# Descending Sort String Numbers
# numeric string sorting
for i in range(0, len(test_list)) :
test_list[i] = int(test_list[i])
test_list.sort(reverse = True)
# printing result
print ("The resultant reverse sorted list : " + str(test_list))
输出 :
The original list is : ['4', '6', '7', '2', '1']
The resultant reverse sorted list : [7, 6, 4, 2, 1]
方法 #2:使用sort()
使用 key + reverse
通用 sort() 可用于执行此特定任务,但必须将键指定为整数才能在内部执行排序函数时将其转换为整数。降序排序是通过反向传递来完成的。
# Python3 code to demonstrate
# Descending Sort String Numbers
# using sort() + key
# initializing list
test_list = [ '4', '6', '7', '2', '1']
# printing original list
print ("The original list is : " + str(test_list))
# using sort() + key
# Descending Sort String Numbers
test_list.sort(key = int, reverse = True)
# printing result
print ("The resultant reverse sorted list : " + str(test_list))
输出 :
The original list is : ['4', '6', '7', '2', '1']
The resultant reverse sorted list : ['7', '6', '4', '2', '1']