Python-快速排序-超过最大递归深度



这是我的代码:

from random import randint
def quick_sort(sort_me):
    if len(sort_me) < 2:
        return sort_me
    pivot = sort_me[0]
    this = lower = upper = []
    for x in sort_me:
        if x < pivot:
            lower.append(x)
        elif x > pivot:
            upper.append(x)
        else:
            this.append(x)
    return quick_sort(lower) + this + quick_sort(upper)

我能在终端看到的只有这个:

File "sorts.py", line 19, in quick_sort
  return quick_sort(lower) + this + quick_sort(upper)
RuntimeError: maximum recursion depth exceeded

我认为this列表有问题,但我不知道是什么。帮助

this = lower = upper = []

Assignment从不在Python中创建副本。这一行不创建3个列表;它创建1个列表,并使thislowerupper都引用该列表。列出3个清单。

this = []
lower = []
upper = []

最新更新