目前我正在尝试对由版本号组成的文件列表进行排序。例如:
0.0.0.0.py
1.0.0.0.py
1.1.0.0.py
它们都存储在一个列表中。我的想法是将列表的sort
方法与lambda表达式结合使用。lambda表达式应该首先删除.py
扩展名,然后按点分割字符串。而不是把每个数字都转换成一个整数并按它们排序。在
我知道如何在c#中实现这一点,但我不知道如何使用python实现这一点。一个问题是,我如何才能在多个条件下进行排序?如何嵌入lambda表达式?在
有人能帮我吗?在
非常感谢!在
Tags:
您可以使用
sorted
函数的键参数:结果:
^{pr2}$lambda将文件名拆分为多个部分,删除最后一个部分并将其余部分转换为整数。然后
sorted
使用这个值作为排序标准。在如果你想知道这是怎么回事:
我们的lambda函数首先获取文件名,然后将其拆分为一个由句点分隔的数组。然后我们获取列表中的所有元素,减去最后一个元素,即文件扩展名。然后我们将'int'函数应用到列表的每个元素。然后,返回的列表由“sorted”函数根据列表的元素进行排序,首先从第一个开始,然后由列表中后面的元素断开。在
让您的
key
函数返回项目列表。在这种情况下,排序是字典式的。在相关问题 更多 >
编程相关推荐