假设我正在循环一个可迭代对象,如果迭代器为空,我想采取一些措施。我能想到的两种最好的方法是:
for i in iterable:
# do_something
if not iterable:
# do_something_else
和
empty = True
for i in iterable:
empty = False
# do_something
if empty:
# do_something_else
第一个取决于可迭代对象是一个集合(当可迭代对象被传递到循环所在的函数/方法时无用),第二个集合empty
在每次通过循环时设置,这看起来很丑陋。
还有另一种我想念的方法还是第二种选择是最好的?如果有一些子句可以添加到循环语句中来为我处理这个问题,就像else
让not_found
标志消失一样,那将是非常酷的。
我不是在寻找聪明的黑客。
我不是在寻找涉及大量代码的解决方案
我正在寻找一个简单的语言功能。我正在寻找一种清晰且Python的方式来迭代一个可迭代对象,并在可迭代对象为空时采取一些操作,任何有经验的 Python 程序员都会理解。如果我可以在每次迭代中不设置标志的情况下做到这一点,那就太棒了。如果没有简单的成语可以做到这一点,那就忘了它。