我试图将应用程序版本号(如5.3.0.1(Android)和5.3.0(iOS))转换为Python中的整数.该函数应该为Android提供输出值5301,为iOS提供530输出值.
我编写了以下代码,但希望使其更小更好:
version = "5.3.0"
num = (version).split('.')
for i in num:
version += i
print version
Run Code Online (Sandbox Code Playgroud)
建议我一些更好的选择!
也许更直接的东西:
major, minor, patch = [int(x, 10) for x in version.split('.')]
Run Code Online (Sandbox Code Playgroud)
以上将为您提供版本号的每个组件.你也可以这样做:
l = [int(x, 10) for x in version.split('.')]
l.reverse()
version = sum(x * (100 ** i) for i, x in enumerate(l))
Run Code Online (Sandbox Code Playgroud)
这将允许版本号的每个组件在0到99之间变化(而不是仅仅0到9).在C中记录版本号是一种相当普遍的做法.
如果您真的只想处理0到9范围内的版本的组件,只需将100更改为10:
l = [int(x, 10) for x in version.split('.')]
l.reverse()
version = sum(x * (10 ** i) for i, x in enumerate(l))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2417 次 |
| 最近记录: |