Python - 按字符串的数字部分对给定的字符串列表进行排序
当需要根据字符串的数字部分对给定的字符串列表进行排序时,定义了一种使用正则表达式、“map”方法和“list”方法来显示结果的方法。
示例
以下是相同的演示-
import re print("正则表达式包已成功导入。") def my_digit_sort(my_list): return list(map(int, re.findall(r'\d+', my_list)))[0] my_list = ["pyt23hon", "fu30n", "lea14rn", 'co00l', 'ob8uje3345t'] print("名单是: " ) print(my_list) my_list.sort(key=my_digit_sort) print("The list has been sorted based on the pre-defined method..") print("结果列表是: ") print(my_list)输出结果
正则表达式包已成功导入。 名单是: ['pyt23hon', 'fu30n', 'lea14rn', 'co00l', 'ob8uje3345t'] The list has been sorted based on the pre-defined method.. 结果列表是: ['co00l', 'ob8uje3345t', 'lea14rn', 'pyt23hon', 'fu30n']
解释
所需的包被导入到环境中。
定义了一个名为“my_digit_sort”的方法,它以一个列表作为参数。
它使用正则表达式和're'包的'findall'方法来查找单词中存在的数字。
这映射到列表中的所有元素。
这将转换为列表并作为输出返回。
在该方法之外,一个包含整数的字符串列表被定义并显示在控制台上。
此列表根据预定义的方法进行排序。
此输出显示在控制台上。