সরবরাহিত পাঁচটি উত্তরের কার্য সম্পাদনের সময়ের সাথে তুলনা করে মৌলিক এবং খুব বিস্তৃত পরীক্ষা নয়:
def numpyIndexValues(a, b):
na = np.array(a)
nb = np.array(b)
out = list(na[nb])
return out
def mapIndexValues(a, b):
out = map(a.__getitem__, b)
return list(out)
def getIndexValues(a, b):
out = operator.itemgetter(*b)(a)
return out
def pythonLoopOverlap(a, b):
c = [ a[i] for i in b]
return c
multipleListItemValues = lambda searchList, ind: [searchList[i] for i in ind]
নিম্নলিখিত ইনপুট ব্যবহার:
a = range(0, 10000000)
b = range(500, 500000)
ল্যাম্বডা অপারেশনের সাথে সহজ পাইথন লুপটি ছিল দ্রুততম দ্বিতীয়, ম্যাপআইডেক্সভ্যালিউস এবং getIndexValues নাম্বার পদ্ধতিতে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে মিলিয়ে যায়। দ্রুততম।
numpyIndexValues -> time:1.38940598 (when converted the lists to numpy arrays)
numpyIndexValues -> time:0.0193445 (using numpy array instead of python list as input, and conversion code removed)
mapIndexValues -> time:0.06477512099999999
getIndexValues -> time:0.06391049500000001
multipleListItemValues -> time:0.043773591
pythonLoopOverlap -> time:0.043021754999999995