📅  最后修改于: 2023-12-03 15:07:55.647000             🧑  作者: Mango
对于Python中的列表(List)中的数字字符串进行排序,可以通过内置函数sorted()和sort()来实现。
函数sorted()
可以对任意类型的序列进行排序,并返回一个新的有序序列,原来的序列不会被修改。对于数字字符串的排序,需要指定关键字参数key
,使其按数字来排序。
number_list = ['1', '3', '12', '7', '5']
sorted_list = sorted(number_list, key=lambda x: int(x))
print(sorted_list) # 输出 ['1', '3', '5', '7', '12']
首先定义了一个数字字符串列表number_list
,然后使用sorted()
函数对其进行排序,按照数字从小到大的顺序排序。需要注意的是,由于sorted()
函数返回的是一个新的有序序列,因此需要将其保存在一个新的列表变量sorted_list
中。
另外,对于关键字参数key
,这里使用了一个lambda表达式来定义一个匿名函数,将每个字符串转换成整数并返回。
在列表对象上直接调用sort()
方法同样可以进行排序,此时原列表会被修改。和sorted()
函数一样,对于数字字符串的排序,也需要指定关键字参数key
。
number_list = ['1', '3', '12', '7', '5']
number_list.sort(key=lambda x: int(x))
print(number_list) # 输出 ['1', '3', '5', '7', '12']
同样是定义了一个数字字符串列表number_list
,然后使用sort()
方法对其进行排序。需要注意的是,由于sort()
方法是在原列表上进行修改的,因此不需要将其返回值保存到新的列表变量中。
通过使用sorted()
函数和sort()
方法,可以方便地对Python中的数字字符串进行排序。在传入关键字参数key
的时候,需要使用一个匿名函数将字符串转换成数字。