Search code examples
pythonif-statementconvolutionternary

Simplifying convoluted if-else conditions to check if len(list) =0 - Python


I am trying to check if sent1 or sent2 has zero length and if they have i want to set sent_witn_not_null as the list with non-zero list. But the if-else conditions, i've written seems convoluted. What is a simpler way of doing this?

sent1 = ["this","is","foo","bar"]
sent2 = []

if len(sent1) or len(sent2) == 0:
    sent_with_not_null = sent2 if len(sent1) == 0 else sent1
    sent_with_not_null = sent1 if len(sent2) == 0 else sent2

Solution

  • Take advantage of Python's coalescing operators.

    sent_with_not_null = sent2 and sent1