📌  相关文章
📜  在Python中对列表中的数字字符串进行排序(1)

📅  最后修改于: 2023-12-03 15:07:55.647000             🧑  作者: Mango

在Python中对列表中的数字字符串进行排序

对于Python中的列表(List)中的数字字符串进行排序,可以通过内置函数sorted()和sort()来实现。

sorted()

函数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()

在列表对象上直接调用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的时候,需要使用一个匿名函数将字符串转换成数字。