1
32
删除字符串中无趣的部分(尾随的零和点),然后比较数字列表。
编辑:与P R Wieslander的方法相同,但更紧凑一些。 一些测试,多亏了 this post :
|
2
253
使用python的怎么样
所以为了你
如果要比较更复杂的版本号
要在这个品种上取得成功,您需要走出标准库并使用
setuptools
的分析实用程序
因此,根据您的具体用例,您需要决定内置的
|
3
29
是 重新使用 在这种情况下被认为是优雅吗?:)
|
4
12
不需要迭代版本元组。列表和元组上的内置比较运算符的工作方式与您想要的完全相同。您只需要将版本列表零扩展到相应的长度。使用python 2.6,可以使用izip_longst填充序列。
对于较低版本,需要一些地图黑客。
|
5
10
这比你的建议要简洁一点。我不是用零填充较短的版本,而是在拆分后从版本列表中删除尾随的零。
|
6
6
用regex删除trailing.0和.00,split并使用cmp函数来正确比较数组。
当然,如果你不介意长线的话,你可以把它转换成一条直线。 |
7
2
这是一条单行线(为了腿部的伸展性而分开)。不确定可读性… |
8
2
列表在python中是可比较的,因此,如果将表示数字的字符串转换为整数,则可以成功地使用基本的python比较。 但是我需要扩展一点这种方法,首先因为我使用了python3x,其中 化学机械抛光 函数不再存在,我必须模仿它 化学机械抛光(A,B) 具有 (A>B)-(A<B) . 第二,遗憾的是,版本号一点也不干净,可以包含所有类型的其他字母数字字符。 有些情况下,函数不能告诉顺序,所以返回为假(参见第一个示例)。 所以,即使这个问题已经很老了,而且已经得到了解答,也可以在生活中节省几分钟。
|
9
2
如果您不想引入外部依赖项,这里有一个我的尝试(为python 3.x编写)。”rc,“rel”(可能还有一个可以添加“c”)被视为“发布候选”,将版本号分为两部分,如果缺少第二部分的值则为高(999)。否则,字母将产生一个拆分,并通过基36代码作为子编号进行处理。
|
10
2
为PHP实现
|
11
1
最难读懂的解决方案,不过还是一句话!并且使用迭代器来加快速度。
对于python2.6和3.+btw,python2.5及更旧版本需要捕获stopIteration。 |
12
0
另一个解决方案:
也可以这样使用:
|
13
0
这样做是为了能够分析和比较Debian包版本字符串。请注意,这对字符验证不严格。 这也可能有帮助。
|
14
0
我在我的项目中使用这个:
|
15
-1
我的首选解决方案: 用额外的零填充字符串,只使用前四个很容易理解, 不需要任何regex,lambda的可读性或多或少。我用两行来表示可读性,对我来说,优雅是短暂而简单的。
|
16
-1
这是我的解决方案(用C写,对不起)。我希望你会发现它有用
|
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |