【发布时间】:2015-01-03 05:08:07
【问题描述】:
我想知道对变量进行排序的最快方法是什么?我有 4 个整数变量,我需要快速对它们进行排名。这个过程需要运行很多很多次,所以它需要很快。我尝试使用计数器和 counter().most_common() 函数,该函数运行良好,但比仅使用单个变量计数要慢。这是我正在运行的示例。
A = 15
B = 10
C = 5
D = 10
def get_highest(A,B,C,D):
count = A
label = 'A'
if B >= count:
count = B
label = 'B'
if C >= count:
count = C
label = 'C'
if D >= count:
count = D
label = 'D'
return count, label
highest, label = get_highest(A,B,C,D)
if label == 'A':
A=0
if label == 'B':
B=0
if label == 'C':
C=0
if label == 'D':
D=0
second_highest, label = get_highest(A,B,C,D)
我继续,直到我得到所有变量的排名。我想知道是否有更快的方法来做到这一点?我也想在 cython 中实现这一点,因此在 cython 中实现时可以加速的答案将不胜感激。
【问题讨论】:
-
为什么不使用数组?
-
你怎么知道什么更快?你是如何为你尝试过的不同事情计时的?