尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

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

按照自然数规律对字符串列表排序 如果直接使用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]达到预期。
返回列表