使用`key`参数按降序排序字符串列表而不使用`reverse = True`?

时间:2015-07-15 17:14:31

标签: python list sorting python-3.x

我有一个像这样的列表:

fruits = ["blueberry", "peach", "applepine", "orange", "pear", "coconut", "lemon"]


我需要按照以下规则对其进行排序:

  • 名称中包含5个或更少字母的水果首先出现
  • 然后,水果按反向字母顺序排序

这应该给出以下列表:

sorted_fruits = ["pear", "peach", "lemon", "orange", "coconut", "blueberry", "applepine"]

我想在包含字符串的列表中应用反向字母排序,但我不能使用可选参数reverse=True,因为这个条件在我的排序优先级中排在第二位,所以我必须使用lambda函数和{ {1}}论证。

我怎么能处理这个?

我知道通常我们可以否定key,但我不知道int对象的技巧,(我虽然对string但它看起来很难看。)

1 个答案:

答案 0 :(得分:1)

你可以通过拆分任何短于5个字符的东西来进行某种合并,排序每个部分并将它们组合成一个列表。