【发布时间】:2019-07-19 02:01:28
【问题描述】:
如何重置循环遍历集合?迭代列表的常见答案是重置您用于访问列表的索引,但是集合不支持索引。
重点是能够迭代大量对象,对每个元素执行一些操作,直到结果与我需要的结果匹配。我正在寻找的功能是reset 循环的能力。这意味着从一开始就重新开始迭代,以确保我无论出于何种原因再次访问每个元素。
如何重置以下循环?
for element in some_set:
print element
if element + offset == needed_result:
# reset
我正在使用 python 2.7 来解决这个特定问题,但我也欢迎使用 python 3 解决方案。
【问题讨论】:
-
"重置您正在使用的索引" - 这在
for循环中也不起作用。更广泛的背景是什么,您要解决的问题是什么? -
你说的reset是什么意思?你从循环中创建
break并再次开始迭代,但为什么呢?你知道我希望集合是无序的 -
reset是什么意思?集合并不是“耗尽”的,它总是包含相同的元素,它是不可变的 - 与列表不同,它也是无序的。 -
@jonrsharpe 更广泛的背景就是这样。我正在遍历一个无序的大列表,对于每个元素,我必须散列值并将其与某个值进行比较,直到找到与散列匹配的某个值,但这无关紧要。我希望能够重置此迭代以在给定条件下重新开始。
-
@Chris_Rands 如果我正在迭代一个集合(意味着将我正在访问的元素递增一个),我想重置迭代并在第一个元素处开始完全相同的循环,以确保我可以访问每个值一次。
标签: python python-3.x python-2.7 loops set