我在了解如何解决代码中的错误时遇到问题。它来了:
def counting_sort(some_list, max=100000):
licznik = [0] * (max+1)
for x in some_list:
licznik[x] = licznik[x]+1
i=0
for x in range(max+1):
for y in range(licznik[x]):
some_list[i]=x
i=i+1
return some_list.reverse()
def gen(number, b=100000):
some_list = []
return [some_list.append(random.randint(0, b)) for x in xrange(number)]
domain = [10000, 25000, 50000, 100000, 200000, 300000, 400000, 500000, 750000, 1000000]
for element in domain:
print 'Results for: ' + str(element) + ' elements:'
for j in range(0, 10):
temp_list = gen(element)
start = time.time()
counting_sort(temp_list)
end = time.time() - start
print end
这是行的问题:
for x in some_list:
licznik[x] = licznik[x]+1
我想应该通过列表理解来解决它,但是我不知道如何以这种方式进行转换。有帮助的建议吗?感谢前进。
您填写some_list
与None
您的函数值gen
。换线
return [some_list.append(random.randint(0, b)) for x in xrange(number)]
到:
return [(random.randint(0, b)) for x in xrange(number)]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句