Use sets instead of lists for membership testing
diff --git a/Lib/urlparse.py b/Lib/urlparse.py
index 2f1965a..f6b367f 100644
--- a/Lib/urlparse.py
+++ b/Lib/urlparse.py
@@ -8,22 +8,22 @@
            "urlsplit", "urlunsplit"]
 
 # A classification of schemes ('' means apply by default)
-uses_relative = ['ftp', 'http', 'gopher', 'nntp', 'imap',
+uses_relative = set(['ftp', 'http', 'gopher', 'nntp', 'imap',
                                'wais', 'file', 'https', 'shttp', 'mms',
-                               'prospero', 'rtsp', 'rtspu', '']
-uses_netloc = ['ftp', 'http', 'gopher', 'nntp', 'telnet',
+                               'prospero', 'rtsp', 'rtspu', ''])
+uses_netloc = set(['ftp', 'http', 'gopher', 'nntp', 'telnet',
                              'imap', 'wais', 'file', 'mms', 'https', 'shttp',
-                             'snews', 'prospero', 'rtsp', 'rtspu', '']
-non_hierarchical = ['gopher', 'hdl', 'mailto', 'news',
-                                  'telnet', 'wais', 'imap', 'snews', 'sip']
-uses_params = ['ftp', 'hdl', 'prospero', 'http', 'imap',
+                             'snews', 'prospero', 'rtsp', 'rtspu', ''])
+non_hierarchical = set(['gopher', 'hdl', 'mailto', 'news',
+                                  'telnet', 'wais', 'imap', 'snews', 'sip'])
+uses_params = set(['ftp', 'hdl', 'prospero', 'http', 'imap',
                              'https', 'shttp', 'rtsp', 'rtspu', 'sip',
-                             'mms', '']
-uses_query = ['http', 'wais', 'imap', 'https', 'shttp', 'mms',
-                            'gopher', 'rtsp', 'rtspu', 'sip', '']
-uses_fragment = ['ftp', 'hdl', 'http', 'gopher', 'news',
+                             'mms', ''])
+uses_query = set(['http', 'wais', 'imap', 'https', 'shttp', 'mms',
+                            'gopher', 'rtsp', 'rtspu', 'sip', ''])
+uses_fragment = set(['ftp', 'hdl', 'http', 'gopher', 'news',
                                'nntp', 'wais', 'https', 'shttp', 'snews',
-                               'file', 'prospero', '']
+                               'file', 'prospero', ''])
 
 # Characters valid in scheme names
 scheme_chars = ('abcdefghijklmnopqrstuvwxyz'