使用python函数进行基数排序
Posted
技术标签:
【中文标题】使用python函数进行基数排序【英文标题】:radix sort using python function 【发布时间】:2014-10-17 05:59:27 【问题描述】:我正在使用此代码在 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 新手。
【问题讨论】:
你从哪里得到这个代码? 【参考方案1】:好的,这就是为什么他们告诉你不要从互联网上复制代码来完成作业。
这部分代码基本上是把原来的列表修改为部分排序(一轮基数排序)。您可以将“rd_list_append”视为指向列表“a”的附加函数的指针。 您也可以直接在循环中执行 a.append(y) 。
【讨论】:
以上是关于使用python函数进行基数排序的主要内容,如果未能解决你的问题,请参考以下文章