栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

比较两个包含数字的python字符串

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

比较两个包含数字的python字符串

将名称转换为整数元组并比较元组:

def splittedname(s):    return tuple(int(x) for x in s.split('.'))splittedname(s1) > splittedname(s2)

更新 :由于您的姓名显然可以包含数字以外的其他字符,因此您需要检查

ValueError
并保留所有无法转换为整数的值:

import redef tryint(x):    try:        return int(x)    except ValueError:        return xdef splittedname(s):    return tuple(tryint(x) for x in re.split('([0-9]+)', s))

要对名称列表进行排序,请使用以下命令

splittedname
作为键功能
sorted

>>> names = ['YT4.11', '4.3', 'YT4.2', '4.10', 'PT2.19', 'PT2.9']>>> sorted(names, key=splittedname)['4.3', '4.10', 'PT2.9', 'PT2.19', 'YT4.2', 'YT4.11']


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/388505.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号