bpo-39058:  Preserve attribute order in argparse Namespace reprs. (GH-17621)

diff --git a/Lib/argparse.py b/Lib/argparse.py
index 9c710ce..2677ef6 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -129,7 +129,7 @@
         return '%s(%s)' % (type_name, ', '.join(arg_strings))
 
     def _get_kwargs(self):
-        return sorted(self.__dict__.items())
+        return list(self.__dict__.items())
 
     def _get_args(self):
         return []
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index 9899a53..e82a0c3 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -4725,7 +4725,7 @@
 
     def test_namespace(self):
         ns = argparse.Namespace(foo=42, bar='spam')
-        string = "Namespace(bar='spam', foo=42)"
+        string = "Namespace(foo=42, bar='spam')"
         self.assertStringEqual(ns, string)
 
     def test_namespace_starkwargs_notidentifier(self):