İçeriğe geç

Döngüde dize birleştirme (ARCH2070)

Anahtar python.performance.string-concat-in-loop · Önem warning · Kategori performance

Dizeler değişmezdir; döngü içinde += ile biriktirmek her adımda yeni bir kopya oluşturur ve O(n²) maliyete yol açar. Parçaları bir listede toplayıp sonda join ile birleştirin.

def render(items):
out = ""
for item in items:
out += str(item) + ","
return out
def render(items):
parts = [str(item) for item in items]
return ",".join(parts) + "," if parts else ""

Parçaları bir listede toplayın ve döngüden sonra "".join(...) ile tek seferde birleştirin.