2011-04-29 84 views
3

可能重复:
Python: sort a part of a list, in place如何排列列表的一部分?

我想实现一个决策树算法,和我的执行需要通过属性排序表顺序属性,到位。

下面是它的要点:选择一个属性,对它进行排序。现在,共享该属性的表中的所有条目都可以被认为是另一个列表,因为它们之间的置换不会修改该属性。

那么,如何才能排序相关的子部分?我是否需要用指定的基数和长度在列表中编写自己的包装?

+0

你是什么意思与部分?你是指从项目位置X到项目位置Y的切片? – 2011-04-29 03:46:03

+0

这似乎不是一个完全重复的“排序的一部分到位”给我。这听起来更像是他想要一个投影/视图显示他的数据的一个子集,过滤并按给定属性排序。 – samplebias 2011-04-29 04:11:50

回答

6

这是很多地方。它确实需要临时存储的排序部分

>>> a=range(20,0,-1) 
>>> a 
[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 
>>> a[10:15]=sorted(a[10:15]) 
>>> a 
[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 6, 7, 8, 9, 10, 5, 4, 3, 2, 1] 
>>>