我正在尝试使用以下代码对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]]))
答案 0 :(得分:3)
该代码是一种特殊的快速实施方式。
colors[0]
是colors
列表的第一个值,用作快速排序的支点。colors[1:]
是一个包含除colors
的第一个值以外的所有值的列表。(在任何情况下,都没有充分的理由存在此代码。您应该使用Python的内置排序函数。)