]> granicus.if.org Git - python/commitdiff
(no commit message)
authorTerry Reedy <tjreedy@udel.edu>
Fri, 3 Dec 2010 18:57:42 +0000 (18:57 +0000)
committerTerry Reedy <tjreedy@udel.edu>
Fri, 3 Dec 2010 18:57:42 +0000 (18:57 +0000)
Doc/library/difflib.rst
Lib/difflib.py

index 89d69acf95cc6bbc91d7d0114ee530b1ed8de0e5..bfe5e58e177c565627212e88b2dcae4a47c1780e 100644 (file)
@@ -358,6 +358,16 @@ The :class:`SequenceMatcher` class has this constructor:
    .. versionadded:: 3.2
       The *autojunk* parameter.
 
+   SequenceMatcher objects get three data attributes: *bjunk* is the
+   set of elements of b for which *isjunk* is True; *bpopular* is the set of non-
+   junk elements considered popular by the heuristic (if it is not disabled);
+   *b2j* is a dict mapping the remaining elements of b to a list of positions where
+   they occur. All three are reset whenever *b* is reset with :meth:`set_seqs`
+   or :meth:`set_seq2`.
+
+.. versionadded:: 3.2
+      The *bjunk* and *bpopular* attributes.
+
    :class:`SequenceMatcher` objects have the following methods:
 
 
@@ -538,7 +548,7 @@ different results due to differing levels of approximation, although
 SequenceMatcher Examples
 ------------------------
 
-This example compares two strings, considering blanks to be "junk:"
+This example compares two strings, considering blanks to be "junk":
 
    >>> s = SequenceMatcher(lambda x: x == " ",
    ...                     "private Thread currentThread;",
index fa8c287d4714cf1b093560f55c52cbc34a729471..e31259abf9621d6fd5f3d6b8c1acc8f9c7c0bbd6 100644 (file)
@@ -213,6 +213,10 @@ class SequenceMatcher:
         #      (at least 200 elements) and x accounts for more than 1 + 1% of
         #      its elements (when autojunk is enabled).
         #      DOES NOT WORK for x in a!
+        # bjunk
+        #      the items in b for which isjunk is True.
+        # bpopular
+        #      nonjunk items in b treated as junk by the heuristic (if used).
 
         self.isjunk = isjunk
         self.a = self.b = None
@@ -321,7 +325,7 @@ class SequenceMatcher:
             indices.append(i)
 
         # Purge junk elements
-        junk = set()
+        self.bjunk = junk = set()
         isjunk = self.isjunk
         if isjunk:
             for elt in list(b2j.keys()):  # using list() since b2j is modified
@@ -330,7 +334,7 @@ class SequenceMatcher:
                     del b2j[elt]
 
         # Purge popular elements that are not junk
-        popular = set()
+        self.bpopular = popular = set()
         n = len(b)
         if self.autojunk and n >= 200:
             ntest = n // 100 + 1