Python Разница во времени выполнения кода

Code_Control_jxie0755 спросил: 26 декабря 2017 в 08:12 в: python

Я тренировался на Leetcode, я хочу задать 3 вопроса о времени работы кодов.

  1. Я заметил, что на Leetcode даже тот же код будет иметь Quitedifferent время выполнения, если представленный несколько раз. И разница огромна, это нормально? Я видел разницу, когда первые времена бьют 26%, но второй раз превосходит 51%. Это действительно меня беспокоит, в то время как я пытаюсь выяснить, где я и насколько хороши коды.

  2. Фактические коды: Leetcode p21, remove element

это удалить все элементы одного значения из списка int без создания нового списка и вернуть длину нового списка.

def removeElement(IntList, val):
    n = 0
    while n < len(IntList): 
        if IntList[n] == val:
           IntList.pop(n)   
        else:
            n += 1  
    return len(IntList)def removeElement2(IntList, val): 
    while val in IntList:
        IntList.remove(val)
    return len(IntList)

Вы можете видеть, что я написал две функции, которые будут работать, а вторая - намного короче первой, но почему-то первая оказалась быстрее. И мне интересно, почему.

  1. Каков наилучший способ узнать, является ли один набор кодов более быстрым, чем другой, без отправки на Leetcode?
  2. ол> Спасибо,

0 ответов