【发布时间】:2014-02-11 18:21:15
【问题描述】:
如果这在其他地方得到了回答,我深表歉意,但如果是这样,我还没有找到。
我想遍历一个对象并构建一个满足我评估标准的 x 个项目的列表。一旦达到我的阈值项目数,我想停止迭代。我曾尝试使用 while 循环和计数器来执行此操作,这在 Python 中几乎从未见过,而我现在正在使用 for 循环和一开始的测试条件来执行此操作。我现在所做的工作有效,但我认为必须有更好的模式,也许可以使用我运行 x 次的生成器。
list_length = 25
list_results = []
for item in some_object:
# test if list length condition met
results_count = len(list_results)
if results_count >= list_length:
break
# length condition not met, process some more
if item == some_criteria:
list_results.append(item)
我几乎找不到这样的例子这一事实通常很好地表明我做错了 - 任何对最佳实践的见解将不胜感激 - 谢谢!
【问题讨论】:
标签: python while-loop iteration