相关疑难解决方法(0)

Python中的版本号比较

我想写一个cmp样功能,比较两个版本号,并返回-1,01根据自己的比较valuses.

  • -1如果版本A早于版本B,则返回
  • 返回0如果版本A和B是等价的
  • 1如果版本A比版本B更新,则返回

每个子部分应该被解释为一个数字,因此1.10> 1.1.

期望的功能输出是

mycmp('1.0', '1') == 0
mycmp('1.0.0', '1') == 0
mycmp('1', '1.0.0.1') == -1
mycmp('12.10', '11.0.0.0.0') == 1
...
Run Code Online (Sandbox Code Playgroud)

这是我的实施,开放改进:

def mycmp(version1, version2):
    parts1 = [int(x) for x in version1.split('.')]
    parts2 = [int(x) for x in version2.split('.')]

    # fill up the shorter version with zeros ...
    lendiff = len(parts1) - len(parts2)
    if lendiff > 0:
        parts2.extend([0] * lendiff)
    elif lendiff < 0:
        parts1.extend([0] …
Run Code Online (Sandbox Code Playgroud)

python string-comparison

95
推荐指数
6
解决办法
5万
查看次数

标签 统计

python ×1

string-comparison ×1