Python按三个标准排序

罗里·齐弗

我试图通过几个标准(长度、后缀和字母顺序)来处理排序。虽然我不能完全掌握它,但我似乎只能按长度排序......

这是我的代码(python 2.7.9):

#!/usr/bin/python

sortme = [
    'one.ab',
    'two.ef',
    'three.ab',
    'six.ef',
    'seven.jk',
    'eight.ef',
    'nine.xy',
    'five.xy',
    'ten.ab',
    'Four.ef'
]

sortme.sort(key=lambda item: (-len(item), item), reverse=True)

print(sortme)

这得到了长度部分,但我真的想得到:

(ab)
one.ab
ten.ab
three.ab

(ef)
six.ef
two.ef
four.ef
eight.ef

(jk)
seven.jk

(xy)
five.xy
nine.xy
环球资源网

您可以将多个排序键指定为一个元组:

sortme.sort(key=lambda item: (item.split('.')[1], len(item), item), reverse=False)

print("\n".join(sortme))

输出:

one.ab
ten.ab
three.ab
six.ef
two.ef
Four.ef
eight.ef
seven.jk
five.xy
nine.xy

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:按值或键排序字典并将结果子集到前三个键值对

按第三个嵌套列表对 Python 中的深层嵌套列表进行排序

按属性对三个不同的对象数组进行排序

按子数组中的三个项目排序

按三个值对多维数组排序

如何获取按三个条件排序的字典列表

使用三个级别的自定义排序标准对对象数组进行排序

排序三个整数

合并三个排序列表的递归Python程序

将Python中的三个列表与排序组合

按第三个变量的颜色线-Python

Python 使用 itertools 按三个列表分组

在一个视图中按日期对三个模型进行排序

熊猫:按两个参数分组并按第三个参数排序

选择Column,Count(Column),但按第三个列值排序

在单个阵列上按ArrayList索引(行)对三个阵列进行排序

按 ArrayList<Integer> 中的第三个元素对 ArrayList<ArrayList<Integer>> 进行排序

查询以获取最新的三个用户,按日期排序 - Mongoose Node.js

如何按特定顺序对数组中的三个项目进行排序?

不使用函数按升序对三个数字排序

按第三个属性值对 ruby 中的哈希进行排序

如何在MYSQL中按工作日的三个字符排序

Java 对象向量和按第三个值排序/分组

三个要素的排序数组

使用 Excel 2016 按第三个类别列表对两个费用列表进行排序和排序

如何在 Python 中按升序对第一个变量、按自定义顺序的第二个变量和降序的第三个变量对 Python 中的 DataFrame 进行排序

按第三个列表python的值显示两个列表的元素

具有三个标准的求和和

匹配三个标准并复制粘贴数据