2014-10-17 60 views
0

我使用这个代码在Python与基数排序列表蟒蛇功能基数排序使用

def radix(self, a): 
     len_a = len(a) 
     modulus = 10 
     div = 1 
     while True: 
      '''DECLARATION OF BUCKETS''' 
      new_list = [[], [], [], [], [], [], [], [], [], []] 
      for value in a: 
       least_digit = value % modulus 
       least_digit /= div 
       new_list[least_digit].append(value) 
      modulus = modulus * 10 
      div = div * 10 

      if len(new_list[0]) == len_a: 
       '''RETURN THE LIST WHEN SORTED''' 
       return new_list[0] 

      a = [] 

      rd_list_append = a.append 

      for x in new_list: 
       for y in x: 
        rd_list_append(y) 

我无法了解这些行做

  a = [] 

      rd_list_append = a.append 

      for x in new_list: 
       for y in x: 
        rd_list_append(y) 

我知道该怎么for循环将工作,但什么是 rd_list_append(y) 请帮助我。我是python的新手。

+0

你从哪里得到这段代码? – Wajahat 2014-10-17 06:21:41

回答

0

好的,这就是为什么他们告诉你不要从互联网上复制代码作业。

这部分代码基本上是修改原始列表进行部分排序(一轮基数排序)。你可以把'rd_list_append'看作是附加列表'a'的函数的指针。
您也可以直接在循环中执行a.append(y)。