Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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_Radix - Fatal编程技术网

基数排序python语法

基数排序python语法,python,sorting,radix,Python,Sorting,Radix,查找基数排序代码,但无法很好地理解行“arr=[j代表bucket中的i\u列表中的j代表i]” 我知道这是基于bucket_列表的排序,但是j,我在这行中的意思是什么,写这个函数的一般方法是什么?谢谢 def radix_sort(arr:List[int]): n = len(str(max(arr))) for k in range(n): bucket_list=[[] for i in range(10)] for i in arr:

查找基数排序代码,但无法很好地理解行“arr=[j代表bucket中的i\u列表中的j代表i]” 我知道这是基于bucket_列表的排序,但是j,我在这行中的意思是什么,写这个函数的一般方法是什么?谢谢

def radix_sort(arr:List[int]):
    n = len(str(max(arr)))  
    for k in range(n):
        bucket_list=[[] for i in range(10)]
        for i in arr:
            bucket_list[i//(10**k)%10].append(i)
        arr=[j for i in bucket_list for j in i]
        print(arr)
    return arr

您询问的代码行中有一个列表。它相当于两级嵌套循环:

arr = []
for i in bucket_list:
    for j in i:
        arr.append(j)

您询问的代码行中有一个列表。它相当于两级嵌套循环:

arr = []
for i in bucket_list:
    for j in i:
        arr.append(j)
因为它是基数排序, 在任何迭代中,我们可以有1个或多个相同权重的值: 以456和656为例,假设我们看到的是单位数字,因此在桶中,这两个数字将出现在一个列表中,例如[[456656]],即使在第二次迭代中,因为它们都是56,它们也将出现在同一个桶中[[456656]]

 arr=[j for i in bucket_list for j in i]
因此,这一行的作用是,它按照每个bucket的内部元素的放置顺序进行排序。

因此,它是基数排序, 在任何迭代中,我们可以有1个或多个相同权重的值: 以456和656为例,假设我们看到的是单位数字,因此在桶中,这两个数字将出现在一个列表中,例如[[456656]],即使在第二次迭代中,因为它们都是56,它们也将出现在同一个桶中[[456656]]

 arr=[j for i in bucket_list for j in i]

因此,这一行要做的是,它将每个桶的内部元素按照它们放置的相同顺序进行处理。

它将一个列表展平为一个列表,例如,
bucket\u list=[[1,2],[5,6],[3]
=>arr=[1,2,5,6,3]请看是的,无论尼克说了什么都是答案,我也在下面解释了它,你可以参考。谢谢所有的帮助。它正在将列表列表展平为一个列表,例如
bucket\u list=[[1,2],[5,6],[3]
=>
arr=[1,2,5,6,3]
请看是的,无论尼克说了什么都是答案,我也在下面解释了,你可以参考。谢谢所有的帮助