• riodoro1@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    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
      arrow-up
      2
      ·
      3 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)