Add code example to demonstrate proper string concatenation.
authorKyle Roberts <robertskyl@gmail.com>
Thu, 14 Jun 2012 01:34:08 +0000 (21:34 -0400)
committerKyle Roberts <robertskyl@gmail.com>
Thu, 14 Jun 2012 01:34:08 +0000 (21:34 -0400)
The text does a good job of explaining which route to take when
concatenating strings, but the mention of "join" might mean nothing to
beginners without a concrete example.

docs/writing/structure.rst

index 0fd4ca5..eecf700 100644 (file)
@@ -391,6 +391,26 @@ its parts, it is much more efficient to accumulate the parts in a list,
 which is mutable, and then glue ('join') the parts together when the
 full string is needed.
 
+**Bad**
+
+.. code-block:: python
+
+    # create a concatenated string from 0 to 19 (e.g. "012..1819")
+    nums = ""
+    for n in range(20):
+      nums += str(n)   # slow and inefficient
+    print nums
+
+**Good**
+
+.. code-block:: python
+    
+    # create a concatenated string from 0 to 19 (e.g. "012..1819")
+    nums = []
+    for n in range(20):
+      nums.append(str(n))
+    print "".join(nums)  # much more efficient
+
 Vendorizing Dependencies
 ------------------------