• JasonDJ@lemmy.zip
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    3 days ago

    if isinstance(mylist, list) and not mylist

    Problem solved.

    Or if not mylist # check if list is empty

    • gravitas_deficiency@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      ·
      3 days ago

      You’re checking if mylist is falsey. Sometimes that’s the same as checking if it’s empty, if it’s actually a list, but that’s not guaranteed.

      • JasonDJ@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 days ago

        Doesn’t Python treat all empty iterables as false tho? This isn’t unique to python, is it? (though I’m not a programmer…just a dude who writes scripts every now and then)

        • gravitas_deficiency@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          3
          ·
          3 days ago

          My point is that the second statement you presented can have the effect of evaluating emptiness of a Sequence (note: distinct from an Iterable), but that only holds true if the target of the conditional IS a sequence. I’m underlining the semantic difference that was elided as a result of falsey evaluation.

        • BlackRoseAmongThorns@slrpnk.net
          link
          fedilink
          English
          arrow-up
          2
          ·
          3 days ago

          Not really, generators have weird truthiness, i don’t remember if they evaluate to true or false, but they cannot be checked for emptiness so they default to either always true or always false.