📌  相关文章
📜  Python|对字符串中的数字记录进行排序(1)

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

Python | 对字符串中的数字记录进行排序

在Python中,我们可用将字符串中的数字记录进行排序。很多时候,可能需要将字符串转化成数字来进行大小比较,但有时直接对字符串进行排序可能更方便。

以下是一个例子,展示如何对含数字的字符串进行排序。

string_list = ['apple', '12', 'banana', '34', '56', '123', 'orange']

string_list.sort(key=lambda x: int(x) if x.isdigit() else x)

print(string_list)

上述代码中,我们先定义了一个含有数字的字符串列表string_list。利用Python的sort()方法,我们将这个列表进行排序。排序的依据是key关键字参数传入的一个lambda表达式,此表达式会返回一个数字(如果当前元素是数字),否则返回其原字符串。

其中,if x.isdigit()用于判断当前元素是否为数字。如果是数字,就执行int(x),将其转化成整数。否则直接返回原字符串。

代码运行结果为:

['apple', 'banana', 'orange', '12', '34', '56', '123']

可以看到,数字被正确地排序了。

这种方法适用于许多场景,包括对含有数字的文件名进行排序、对含有引号和数字的标签进行排序等等。