有约束的排序

马特乌斯

我有一个清单:

l = ['dylan', 'andy', 'alan', 'bob', 'but this must go last']

有没有什么pythonic方法可以按字母顺序对项目进行排序并有一些限制?我想要一个特定的项目是最后一个,所以排序后的结果不是:

l.sort()
['alan', 'andy', 'bob', 'but this must go last', 'dylan']

反而:

['alan', 'andy', 'bob', 'dylan', 'but this must go last']

我想到的解决方案是从列表中删除特定项目,对其进行排序,然后将其放在最后。有一个更好的方法吗?

芬福

所以,在排序时去掉最后一个元素,然后像这样把它放在最后:

 sorted(l[:-1]) + [l[-1]]

或者,更一般地说,如果您想排除第 i 个元素:

 sorted(l[:i]+l[i:]) + [l[i]]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章