Моим первым решением было это, но оно не сработало так, как я это делал. Под этим я подразумеваю, что я хотел добавить некоторый элемент в этот набор, и набор все еще мог бы перебирать оставшиеся элементы, а также новые элементы. Например, если у меня есть в e_closure_statesFinal числа {2,3} и после оператора if будет добавлено число 5, я бы хотел, чтобы первый цикл for повторял также {2,3} и 5. Заранее спасибо и извините, если я не понятен.
for nextstate in e_closure_statesFinal:
print(nextstate)
for y in range(state,len(self.states)+ 1):
if ((nextstate, '@') in self.transition_function.keys()):
e_closure_statesFinal = e_closure_statesFinal|self.transition_function[(nextstate, '@')]
else :
break
Второе решение, которое сработало, но я хочу знать, есть ли более быстрый путь.
i = 0
while i < len(e_closure_statesFinal):
for nextstate in e_closure_statesFinal:
for y in range(state,len(self.states)+ 1):
if ((nextstate, '@') in self.transition_function.keys()):
e_closure_statesFinal = e_closure_statesFinal |self.transition_function[(nextstate, '@')]
else :
break
i += 1