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

Python中的版本号比较

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

Python中的版本号比较

删除字符串的多余部分(尾随零和点),然后比较数字列表。

import redef mycmp(version1, version2):    def normalize(v):        return [int(x) for x in re.sub(r'(.0+)*$','', v).split(".")]    return cmp(normalize(version1), normalize(version2))

这与PärWieslander的方法相同,但更为紧凑:

这里有一些测试,这要感谢“如何在Bash中比较点分隔版本格式的两个字符串? ”:

assert mycmp("1", "1") == 0assert mycmp("2.1", "2.2") < 0assert mycmp("3.0.4.10", "3.0.4.2") > 0assert mycmp("4.08", "4.08.01") < 0assert mycmp("3.2.1.9.8144", "3.2") > 0assert mycmp("3.2", "3.2.1.9.8144") < 0assert mycmp("1.2", "2.1") < 0assert mycmp("2.1", "1.2") > 0assert mycmp("5.6.7", "5.6.7") == 0assert mycmp("1.01.1", "1.1.1") == 0assert mycmp("1.1.1", "1.01.1") == 0assert mycmp("1", "1.0") == 0assert mycmp("1.0", "1") == 0assert mycmp("1.0", "1.0.1") < 0assert mycmp("1.0.1", "1.0") > 0assert mycmp("1.0.2.0", "1.0.2") == 0


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

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

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