no-string-concat-in-loop
Avoid repeatedly growing a proven string accumulator across a loop backedge.
Why
Repeated immutable-string growth can copy the accumulated value on each iteration and become quadratic.
Fix
Collect fragments and join once, or use io.StringIO when incremental writes are required.
Examples
def render(items): result = "" for item in items: result += str(item) return resultdef render(items): return "".join(str(item) for item in items)Formerly: inefficient-string-concat-in-loop