• @riodoro1@lemmy.world
    link
    fedilink
    English
    1
    edit-2
    3 days ago

    So… it has to iterate over the whole empty list is what you’re saying? like once for every of the zero items in the list?

    • @borokov@lemmy.world
      link
      fedilink
      English
      23 days ago

      Don’t know how list are implemented in Python. But in the dumb linked list implementation (like C++ std::list), each element has a “next” member that point the the next element. So, to have list length, you have to do (pseudo code, not actual python code):

      len = 0
      elt = list.fisrt
      while exist(elt):
          elt = elt.next
          len++
      return len
      

      Whereas to test if list is empty, you just have to:

      return exist(list.first)
      
      • @riodoro1@lemmy.world
        link
        fedilink
        English
        23 days ago

        That’s exactly what I was getting at. Getting length of an empty list would not even enter the loop.