📅  最后修改于: 2023-12-03 15:04:25.626000             🧑  作者: Mango
在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']
可以看到,数字被正确地排序了。
这种方法适用于许多场景,包括对含有数字的文件名进行排序、对含有引号和数字的标签进行排序等等。