7

在 Django 模板中,For loop只有empty当您循环的对象为空时才会设置条件。例如:

{% for x in my_list %}
    #do something
{% empty %}
   <p>  my_list is empty </p>
{% endfor %}

在这里,如果 my_list 为空,那么它只会打印my_list is empty

python中有没有等价的东西?

我正在使用 if-else 条件,但这看起来很难看。我正在尝试找到不涉及使用 if-else 条件的解决方案

我当前的代码:

if len(my_list):
   for x in my_list:
       doSomething()
else:
    print "my_list is empty"
4

1 回答 1

13

您必须坚持该if声明,但可以简化:

for x in my_list:
    doSomething()
if not my_list:
    print "my_list is empty"

因为my_list是空的,所以for循环永远不会执行循环部分,并且空列表False位于布尔上下文中。

于 2013-03-20T12:36:38.387 回答