diff --git a/scripts/Python/python-extensions.swig b/scripts/Python/python-extensions.swig
index 1cf6519..49172b3 100644
--- a/scripts/Python/python-extensions.swig
+++ b/scripts/Python/python-extensions.swig
@@ -324,6 +324,28 @@
                 return Py_None;
         }
 }
+%extend lldb::SBValueList {
+        PyObject *lldb::SBValueList::__repr__ (){
+                lldb::SBStream description;
+                const size_t n = $self->GetSize();
+                if (n)
+                {
+                    for (size_t i=0; i<n; ++i)
+                        $self->GetValueAtIndex(i).GetDescription(description);
+                }
+                else
+                {
+                    description.Printf("<empty> lldb.SBValueList()");
+                }
+                const char *desc = description.GetData();
+                size_t desc_len = description.GetSize();
+                if (desc_len > 0 && (desc[desc_len-1] == '\n' || desc[desc_len-1] == '\r'))
+                    --desc_len;
+                if (desc_len > 0)
+                    return PyString_FromStringAndSize (desc, desc_len);
+                return Py_None;
+        }
+}
 %extend lldb::SBWatchpoint {
         PyObject *lldb::SBWatchpoint::__repr__ (){
                 lldb::SBStream description;
