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

阅读 3519 收藏 0 点赞 0 评论 0

当需要按字符串的数字部分对给定的字符串列表进行排序时,使用正则表达式和 '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”方法将其转换为字符串,然后转换为“列表”。

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

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

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

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

评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号