KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I know that it is not allowed to remove elements while iterating a list, but is it allowed to add elements to a python list while iterating. Here is an example: for a in myarr: if somecond(a): myarr.append(newObj()) I have tried this in my code and it seems to work fine, however I don't know if it's because I am just lucky and that it will break at some point in the future? I prefer not to copy the list since myarr is huge, and therefore it would be too slow. Also I need to check the appended objects with somecond() . At some point somecond(a) will be false, so there can not be an infinite loop. Each object in myarr has a size, and each time somecond(a) is true and a new object is appended to the list, the new object will have a size smaller than a . somecond() has an epsilon for how small objects can be and if they are too small it will return "false".
Tags (comma-separated)
Save Edits
Cancel