我知道在迭代列表时不允许删除元素,但是在迭代时是否允许向Python列表中添加元素呢?以下是一个例子:
我在我的代码中尝试过这个方法,看起来运行得很好,但是我不知道是不是因为我运气好,而且它将在将来的某个时候出现问题?
我不想复制列表,因为myarr非常庞大,这样会导致速度太慢。而且我需要使用somecond()来检查追加的对象。
在某个时刻,somecond(a)将会返回false,所以不会出现无限循环。
myarr中的每个对象都有一个大小,每当somecond(a)为true并且一个新对象被追加到列表中时,新对象的大小将小于a。somecond()有一个epsilon来确定对象的最小大小,如果太小,它将返回"false"。
for a in myarr:
if somecond(a):
myarr.append(newObj())
我在我的代码中尝试过这个方法,看起来运行得很好,但是我不知道是不是因为我运气好,而且它将在将来的某个时候出现问题?
我不想复制列表,因为myarr非常庞大,这样会导致速度太慢。而且我需要使用somecond()来检查追加的对象。
在某个时刻,somecond(a)将会返回false,所以不会出现无限循环。
myarr中的每个对象都有一个大小,每当somecond(a)为true并且一个新对象被追加到列表中时,新对象的大小将小于a。somecond()有一个epsilon来确定对象的最小大小,如果太小,它将返回"false"。