• @[email protected]
    link
    fedilink
    English
    2
    edit-2
    17 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?

    • @[email protected]
      link
      fedilink
      English
      217 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)
      
      • @[email protected]
        link
        fedilink
        English
        217 days ago

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