Revert unneccessary changes made in bpo-30296 and apply other improvements. (GH-2624)

diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index 7927e76..1b0faca 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -460,7 +460,7 @@
             c = self.resolve(c)
         props = config.pop('.', None)
         # Check for valid identifiers
-        kwargs = dict((k, config[k]) for k in config if valid_ident(k))
+        kwargs = {k: config[k] for k in config if valid_ident(k)}
         result = c(**kwargs)
         if props:
             for name, value in props.items():
@@ -723,7 +723,7 @@
                 config['address'] = self.as_tuple(config['address'])
             factory = klass
         props = config.pop('.', None)
-        kwargs = dict((k, config[k]) for k in config if valid_ident(k))
+        kwargs = {k: config[k] for k in config if valid_ident(k)}
         try:
             result = factory(**kwargs)
         except TypeError as te:
diff --git a/Lib/pstats.py b/Lib/pstats.py
index 1b57d26..ded5ae5 100644
--- a/Lib/pstats.py
+++ b/Lib/pstats.py
@@ -530,7 +530,7 @@
         if func in new_callers:
             if isinstance(caller, tuple):
                 # format used by cProfile
-                new_callers[func] = tuple(i[0] + i[1] for i in zip(caller, new_callers[func]))
+                new_callers[func] = tuple(i + j for i, j in zip(caller, new_callers[func]))
             else:
                 # format used by profile
                 new_callers[func] += caller
diff --git a/Lib/turtle.py b/Lib/turtle.py
index 8909fe9..9db564b 100644
--- a/Lib/turtle.py
+++ b/Lib/turtle.py
@@ -3839,7 +3839,7 @@
         docsdict[key] = eval(key).__doc__
 
     with open("%s.py" % filename,"w") as f:
-        keys = sorted(x for x in docsdict.keys()
+        keys = sorted(x for x in docsdict
                       if x.split('.')[1] not in _alias_list)
         f.write('docsdict = {\n\n')
         for key in keys[:-1]:
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index 2b76942..5b962f7 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -1286,7 +1286,8 @@
         h.set_debuglevel(self._debuglevel)
 
         headers = dict(req.unredirected_hdrs)
-        headers.update((k, v) for k, v in req.headers.items() if k not in headers)
+        headers.update({k: v for k, v in req.headers.items()
+                        if k not in headers})
 
         # TODO(jhylton): Should this be redesigned to handle
         # persistent connections?