我们可以定义一个函数来实现按字符串中的整数排序。首先,我们使用正则表达式来匹配字符串中的整数,然后将其转换为实际的整数进行比较。最后,使用Python的sorted函数按照整数大小对字符串进行排序。
代码示例:
import re
def sort_by_integers(text): # 匹配字符串中的整数 def atoi(text): return int(text) if text.isdigit() else text
# 按整数排序字符串
def natural_keys(text):
return [ atoi(c) for c in re.split(r'(\d+)', text) ]
return sorted(text, key=natural_keys)
text_list = ['foo2', 'foo1', 'foo10', 'foo9', 'foo25', 'foo-3'] sorted_list = sort_by_integers(text_list) print(sorted_list) # ['foo-3', 'foo1', 'foo2', 'foo9', 'foo10', 'foo25']
下一篇:按字符串中的值将行复制n次