Python – 按字符串的数字部分对给定的字符串列表进行排序

pythonserver side programmingprogramming更新于 2025/10/15 3:56:17

当需要按字符串的数字部分对给定的字符串列表进行排序时,使用正则表达式和‘findall’方法。

示例

下面是相同的演示 −

import re

def my_num_sort(my_str):
   return list(map(int, re.findall(r'\d+', my_str)))[0]

my_list = ["pyth42on", '14is', '32fun', '89to', 'lea78rn']
print("列表为:")
print(my_list)

my_list.sort(key=my_num_sort)

print("结果为:")
print(my_list)

输出

列表为:
['pyth42on', '14is', '32fun', '89to', 'lea78rn']
结果为:
['14is', '32fun', 'pyth42on', 'lea78rn', '89to']

解释

  • 将所需的包导入到环境中。

  • 定义一个以字符串为参数的方法。

  • 它使用‘findall’方法查找与特定模式匹配的内容。

  • 使用‘map’方法将其转换为字符串,然后转换为‘list’。

  • 这将作为方法的输出返回。

  • 在方法之外,定义一个字符串列表并显示在控制台上。

  • 该列表根据先前定义的方法的键进行排序。

  • 此列表将作为控制台上的输出显示。


相关文章


有用资源