在python中切片

时间:2014-08-11 08:38:27

标签: python

我正在尝试使用以下代码对python中的字符串列表进行排序。我无法弄清楚以下代码中的切片究竟是什么

def sorted_order(colors):
    if not colors:
       return[] 
    return (sorted_order([x for x in colors[1:] if x <  colors[0]])
        + [colors[0]] +
        sorted_order([x for x in colors[1:] if x >= colors[0]]))

1 个答案:

答案 0 :(得分:3)

该代码是一种特殊的快速实施方式。

  • colors[0]colors列表的第一个值,用作快速排序的支点。
  • colors[1:]是一个包含除colors的第一个值以外的所有值的列表。

(在任何情况下,都没有充分的理由存在此代码。您应该使用Python的内置排序函数。)