Добавление к списку во время его итерации разрешено, поскольку списки упорядочены, поэтому поведение добавления во время итерации предсказуемо.Это делает его полезным для повторения неудачных задач, когда все другие задачи в очереди завершены, например:
tasks = ['task1', 'task2']
for task in tasks:
if task == 'task1':
tasks.append('task1-retry')
print(task)
Это выводит:
task1
task2
task1-retry
Но наборы не упорядочены, поэтомудобавление элемента в набор при последовательном его повторении имеет неопределенный эффект и поэтому не допускается.