【发布时间】:2019-04-17 06:21:59
【问题描述】:
我处于有 3 个嵌套循环的情况。每 x 次迭代,我想重新启动第二个 for 循环。 如果第三个 for 循环中的元素满足某个条件,我想从列表中删除该元素。
我不确定如何实现这一点,并且根据我阅读的类似问题,使用列表理解或创建新列表不会真正起作用。
示例伪代码:
items_of_interest = ["apple", "pear"]
while True: # restart 10,000 iterations (API key only last 10,000 requests)
api_key = generate_new_api_key()
for i in range(10000):
html = requests.get(f"http://example.com/{api_key}/items").text
for item in items_of_interest:
if item in html:
items_of_interest.remove(item)
原始代码要大得多,需要进行大量检查,不断地解析 API 以获取某些东西,而且你可以看出它的组织有点混乱。我不确定如何降低复杂性。
【问题讨论】:
-
你在
item是found之后使用break? -
@hansolo 如果
items_of_interest中可能存在多个项目匹配项,则不一定要匹配
标签: python python-3.x loops for-loop