我有一个带有score
和quizzes_done
的Django模型。我想计算得分和quizzes_done的百分位数。为此,我需要创建两个排序列表。对于第一个,我做:
s_recs = MyRecord.objects.all().order_by('score')
score_list = [r.score for r in s_recs]
我也可以这样做以获得排序quiz_list
或者我可以使用python排序。我想知道哪一个更快。
使用我们上面提到的s_recs
并执行
quizzes_list = [r.quizzes_done for r in s_recs]
quizzes_list.sort()
OR
q_recs = MyRecord.objects.all().order_by('quizzes_done')
quizzes_list = [r.quizzes_done for r in q_recs]
答案 0 :(得分:1)
这是一个小功能,您可以将它们传递给时间:
def timedcall(fn, *args):
"Call function with args; return the time in seconds and result."
t0 = time.clock()
result = fn(*args)
t1 = time.clock()
return t1-t0, result
这将返回您调用的函数返回的时间和结果。我想你会发现,除非你排出数以万计的记录,否则几乎没什么区别,但我很想听听结果。