按内部编号对字符串排序

2024-06-07 05:33:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何按里面的数字对字符串排序。在

例如,我有:

hello = " hola %d" % (number_from_database)
bye = "adios %d" % (number_from_database_again)

我想按号码排序,即使它变了。在


Tags: 字符串fromnumberhello排序数字database号码
3条回答
salutations = [hello, bye]
salutations.sort(key=lambda x: int(filter(lambda s: s.isdigit(), x.split())[0]))

您可以传递一个键进行排序:

sorted(l, key=lambda x: int(re.sub('\D', '', x)))

例如:

^{pr2}$

其中re.sub('\D', '', x)替换{a1}。在

只是对安迪回答的一点补充。在

如果要对包含不带任何数字的字符串的集合进行排序:

sorted(l, key=lambda x: int('0'+re.sub('\D', '', x)))

,这将把那些没有任何数字的字符串放在开头。在

相关问题 更多 >