Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串的基数排序会导致Python空闲三秒钟,然后崩溃_Python_Sorting_Crash_Radix Sort - Fatal编程技术网

字符串的基数排序会导致Python空闲三秒钟,然后崩溃

字符串的基数排序会导致Python空闲三秒钟,然后崩溃,python,sorting,crash,radix-sort,Python,Sorting,Crash,Radix Sort,我试图对一串大写字母应用基数排序,方法是遍历每个索引,然后遍历索引中的每个字符,确定将其放入哪个bucket 我用于排序算法的代码 def radixsort(li, maxistrlen): for index in range(maxistrlen): buckets = [[]]*26 for item in li: try: bucket = ord(item[index]) - 65 # All characters

我试图对一串大写字母应用基数排序,方法是遍历每个索引,然后遍历索引中的每个字符,确定将其放入哪个bucket

我用于排序算法的代码


def radixsort(li, maxistrlen):
    for index in range(maxistrlen):
        buckets = [[]]*26
        for item in li:
            try: bucket = ord(item[index]) - 65  # All characters are uppercase.
            except IndexError: bucket = 0
            buckets[bucket].append(item)
        li = sum(buckets, [])  # Flat the list out.
    return li

print(radixsort(['ABC', 'ABD', 'ACQ', 'QRV', 'ZIY', 'BLC', 'AAI'], 3))
运行耗时超过3秒,然后在打印输出时崩溃Python

我似乎无法找出我的算法实现中的错误


非常感谢您的帮助。谢谢

你的程序在这里运行得很好。它产生大量输出,但不到一秒钟就完成了。您的计算机是否缺少内存或其他资源?您是否在调试器中单步执行了代码以查看它在做什么?有人请写一个完整的答案。。。我不能每天回答5次同样的问题。(提示:
[[]]*26
)好吧,我让它在空闲状态下挂起10秒钟,最后崩溃了……没人?唉。对于范围(26)内的uu,请尝试使用
bucket=[[]]
而不是
bucket=[[]]*26