diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index afa6e7f..0202981 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -730,9 +730,6 @@
             addhashvalue(hash(frozenset([e for e, m in elemmasks if m&i])))
         self.assertEqual(len(hashvalues), 2**n)
 
-        def letter_range(n):
-            return string.ascii_letters[:n]
-
         def zf_range(n):
             # https://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers
             nums = [frozenset()]
@@ -748,7 +745,7 @@
         for n in range(18):
             t = 2 ** n
             mask = t - 1
-            for nums in (range, letter_range, zf_range):
+            for nums in (range, zf_range):
                 u = len({h & mask for h in map(hash, powerset(nums(n)))})
                 self.assertGreater(4*u, t)
 
