2013-03-20 5 views
0

В шаблонах Django For loop имеет условия empty, которые устанавливаются только тогда, когда объект, который вы зацикливаете, пуст. например:for/empty loop condition in python

{% 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 len(my_list): 
    for x in my_list: 
     doSomething() 
else: 
    print "my_list is empty" 
+0

Не нужно использовать 'len()', пустой список является ложным. – geoffspear

ответ

4

Вы должны придерживаться if заявления, но она может быть упрощена:

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

так my_list пусто, то цикл for никогда не выполняет часть цикла, и пустой список в логическом контексте False.