• @[email protected]
    link
    fedilink
    English
    818 days ago

    Could also compare against:

    if not len(mylist)
    

    That way this version isn’t evaluating two functions. The bool evaluation of an integer is false when zero, otherwise true.

    • @[email protected]
      link
      fedilink
      English
      318 days ago

      This is honestly the worst version regarding readability. Don’t rely on implicit coercion, people.

      • @[email protected]
        link
        fedilink
        English
        117 days ago

        But the first example does the same thing for an empty list. I guess the lesson is that if you’re measuring the speed of arbitrary stylistic syntax choices, maybe Python isn’t the best language for you.

        • @[email protected]
          link
          fedilink
          English
          1
          edit-2
          17 days ago

          Yes, the first example does the same thing, but there’s still less to mentally parse. Ideally you should just use if len(mylist) == 0:.

    • @[email protected]
      link
      fedilink
      English
      217 days ago

      That’s worse. IMO, solve this problem with two things:

      • type hint mylist as list | None or just list
      • use if not mylist:

      The first documents intent and gives you static analysis tools some context to check for type consistency/compatibility, and the second shows that None vs empty isn’t an important distinction here.