python,rpm名称按版本排序

时间:2014-08-19 10:02:38

标签: python

我在按版本排序rpms方面遇到了麻烦。如果我使用简单的.sort(),它不会使用版本进行排序。

  
    
      

data = [" fininstapiserv-protected-stage-100.1-1.i686.rpm",       ..." fininstapiserv-protected-stage-101.9-2.i686.rpm",       ..." fininstapiserv-protected-stage-103.0-1.i686.rpm",       ..." fininstapiserv-protected-stage-103.4-1.i686.rpm",       ..." fininstapiserv-protected-stage-104.9-1.i686.rpm",       ..." fininstapiserv-protected-stage-105.0-1.i686.rpm",       ..." fininstapiserv-protected-stage-109.0-1.i686.rpm",       ..." fininstapiserv-protected-stage-112.1-1.i686.rpm",       ..." fininstapiserv-protected-stage-98.0-1.i686.rpm",       ..." fininstapiserv-protected-stage-99.0-1.i686.rpm"]

             

数据       [' fininstapiserv-protected-stage-100.1-1.i686.rpm',' fininstapiserv-protected-stage-101.9-2.i686.rpm',' fininstapiserv-protected -stage-103.0-1.i686.rpm',' fininstapiserv-protected-stage-103.4-1.i686.rpm',' fininstapiserv-protected-stage-104.9-1.i686 .rpm',' fininstapiserv-protected-stage-105.0-1.i686.rpm',' fininstapiserv-protected-stage-109.0-1.i686.rpm',&# 39; fininstapiserv-protected-stage-112.1-1.i686.rpm',' fininstapiserv-protected-stage-98.0-1.i686.rpm',' fininstapiserv-protected-stage- 99.0-1.i686.rpm']

             

data.sort()

             

数据

    
  

[' fininstapiserv-protected-stage-100.1-1.i686.rpm',' fininstapiserv-protected-stage-101.9-2.i686.rpm',' fininstapiserv-protected-stage-103.0-1.i686.rpm',' fininstapiserv-protected-stage-103.4-1.i686.rpm',' fininstapiserv-protected-stage-104.9- 1.i686.rpm',' fininstapiserv-protected-stage-105.0-1.i686.rpm',' fininstapiserv-protected-stage-109.0-1.i686.rpm' ,' fininstapiserv-protected-stage-112.1-1.i686.rpm',' fininstapiserv-protected-stage-98.0-1.i686.rpm',' fininstapiserv-protected -stage-99.0-1.i686.rpm']

1 个答案:

答案 0 :(得分:0)

您可以尝试类似

的内容
data.sort(key=lambda x: float(x.split("-")[3]))

检查有关排序的Python wiki以获取更多信息。

相关问题