      "\n",
      "def main():\n",
      "    test = TestQuickSort()\n",
      "    test.test_quick_sort(quick_sort)\n",
      "    try:\n",
      "        test.test_quick_sort(quick_sort_alt)\n",
      "    except NameError:\n",
      "        # Alternate solutions are only defined\n",
      "        # in the solutions file\n",
      "        pass\n",
      "\n",
      "\n",
      "if __name__ == '__main__':\n",
      "    main()"
     ]
 
</s> remove     "    try:\n",
    "        test.test_quick_sort(quick_sort_alt)\n",
    "    except NameError:\n",
    "        # Alternate solutions are only defined\n",
    "        # in the solutions file\n",
    "        pass\n",
 </s> add  </s> remove     try:
        test.test_quick_sort(quick_sort_alt)
    except NameError:
        # Alternate solutions are only defined
        # in the solutions file
        pass
 </s> add  </s> remove     "    if len(data) < 2:\n",
 </s> add     "    if data is None or len(data) < 2:\n",
      "\n",
      "def main():\n",
      "    test = TestQuickSort()\n",
      "    test.test_quick_sort(quick_sort)\n",






      "\n",
      "\n",
      "if __name__ == '__main__':\n",
      "    main()"
     ]
keep keep keep keep replace replace replace replace replace replace keep keep keep keep keep
 Polish quicksort challenge and solution

Add None input test case.  Remove difficult to read 'Pythonic' solution.  Update space complexity discussion. 
sorting_searching/quick_sort/quick_sort_challenge.ipynb