ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

按照自然数规律对字符串列表排序

按照自然数规律对字符串列表排序 如果直接使用sort()“10”结尾的字符串会排在“2”前面。代码import re l [nowDo_limit_lamp_2_9, nowDo_limit_lamp_1_10, nowDo_limit_lamp_3_0, nowDo_limit_lamp_10_5, nowDo_limit_lamp_1_6] def natural_key(name: str): 拆分数字与文本实现自然排序 return [int(s) if s.isdigit() else s.lower() for s in re.split(r(\d), name)] l.sort(keylambda w: natural_key(w)) # l.sort() print(l)执行结果[nowDo_limit_lamp_1_6, nowDo_limit_lamp_1_10, nowDo_limit_lamp_2_9, nowDo_limit_lamp_3_0, nowDo_limit_lamp_10_5]达到预期。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进