Convert a lot of print statements to print functions in docstrings,
documentation, and unused/rarely used functions.
diff --git a/Doc/tutorial/datastructures.rst b/Doc/tutorial/datastructures.rst
index 7999e0d..8e4f053 100644
--- a/Doc/tutorial/datastructures.rst
+++ b/Doc/tutorial/datastructures.rst
@@ -239,7 +239,7 @@
 Now, if you wanted to swap rows and columns, you could use a list 
 comprehension::
 
-    >>> print [[row[i] for row in mat] for i in [0, 1, 2]]
+    >>> print([[row[i] for row in mat] for i in [0, 1, 2]])
     [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
 
 Special care has to be taken for the *nested* list comprehension:
@@ -251,7 +251,7 @@
 
     for i in [0, 1, 2]:
         for row in mat:
-            print row[i],
+            print(row[i], end="")
         print
 
 In real world, you should prefer builtin functions to complex flow statements.