У меня возникла проблема с измерением времени функции.Время работы функции python
Моя функция является «линейный поиск»:
def linear_search(obj, item,):
for i in range(0, len(obj)):
if obj[i] == item:
return i
return -1
И я сделал еще одну функцию, которая измеряет время в 100 раз, и добавляет все результаты в списке:
def measureTime(a):
nl=[]
import random
import time
for x in range(0,100): #calculating time
start = time.time()
a
end =time.time()
times=end-start
nl.append(times)
return nl
Когда я m, используя measureTime(linear_search(list,random.choice(range(0,50))))
, функция всегда возвращает [0.0]
.
Что может вызвать эту проблему? Благодарю.
, потому что ваш метод a не вызывается в цикле, но только один раз, прежде чем вы вызовете метод – martijnn2008
Я не могу вызвать функцию внутри функции? как я могу это решить? thanks – Guy
Вы можете передать функцию как аргумент другой функции, но для этого требуется другой синтаксис. См. Мой ответ. – martijnn2008