首页 > 解决方案 > 将“True”分配给包含如果 for 循环为 True 时触发电子邮件的 if 语句的 for 循环

问题描述

mylist = [right_branchcode, right_branchname, right_sellingcode, right_advcorp, right_childparent, \
      right_eliteCategoryId, right_partyid, right_retailmga]
for item in mylist:
      if len(item) > 0:
         print(item)
      else:
        print()

如果 for 循环打印一个项目,我希望能够返回“True”。最终目标是触发包含 print(item) 的电子邮件通知。我只是不知道如何将运算符分配给包含 if 语句的 for 循环。

我希望这很清楚。我还在学习,有时很难表达我的需要。

谢谢

标签: pythonpandasfor-loopif-statement

解决方案


循环本身不是真假;这是一个流控制语句,而不是表达式。您正在寻找的是一个标志(一个布尔值变量),其值指示是否打印了非空值。

mylist = [...]
printed_something = False
for item in mylist:
    if item:
        print(item)
        printed_something = True
    else:
        print()

循环完成后,您可以printed_something根据需要使用 的值。True只有在迭代过程中至少看到一个非空值时才会更改为。


推荐阅读