python - 将“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 循环。
我希望这很清楚。我还在学习,有时很难表达我的需要。
谢谢
解决方案
循环本身不是真假;这是一个流控制语句,而不是表达式。您正在寻找的是一个标志(一个布尔值变量),其值指示是否打印了非空值。
mylist = [...]
printed_something = False
for item in mylist:
if item:
print(item)
printed_something = True
else:
print()
循环完成后,您可以printed_something
根据需要使用 的值。True
只有在迭代过程中至少看到一个非空值时才会更改为。
推荐阅读
- python - 当在 Tkinter 中没有输入而取消选择输入字段时,使占位符重新出现
- angular - Angular2 StrategyPattern 注入服务
- java - 当我尝试将图像添加到窗格时,图像不可见
- webassembly - 内存访问越界——但为什么呢?
- javascript - 我的图标没有显示并且我的响应式菜单没有显示
- c++ - 将 mqtt_cpp 库添加到 cmake 项目
- java - 如何在不知道列的情况下将“io.vertx.mutiny.sqlclient.Rowset”转换为地图列表?
- java - 部署到 jar 后获取 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- reactjs - 在 React 中访问浏览器扩展
- python - 为什么代理服务器无法收到服务器的响应