import difflib
str1 = "Poor Impulse Control: A Good Babysitter Is Hard To Find"
str2 = """ A Good Babysitter Is Hard To Find This is Frederick
by Leo Lionni, the first book I picked for myself.
I was in kindergarten, I believe, which would be either 1968 or 1969.
Frederick has a specific lesson for children about how art is as
important in life as bread, but there's a secondary consideration
I took away: if we pool our talents our lives are immeasurably better.
Curiously, this book is the story of my life, however one interprets
those things. I expect Mickey Rooney to show up any time with a barn
and a plan for a show, though my mom is not making costumes. My sisters
own a toy store with a fantastic selection of imaginative children's books.
I try not to open them because I can't close them and put them back.
My tantrums are setting a bad example for the kids. Anyway, I mention
this because yesterday was Mr. Rogers' 40th anniversary. I appreciate
the peaceful gentleman more as time passes, as I play with finger puppets
in department meetings, as I eye hollow trees for Lady Elaine Fairchild
infestations. Maybe Pete can build me trolley tracks!Labels: To Take
Your Heart Away """
s = difflib.SequenceMatcher(None, str1, str2)
print len(str1), len(str2)
star_a, start_b, length = s.find_longest_match(0, len(str1)-1, 0, len(str2)-1)
print star_a, start_b, length
print str1[star_a:star_a + length]
输出结果为:
55 1116
0 1048 1
Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
而最长的应该为 A Good Babysitter Is Hard To Find.
将 str1 于 str2 交换一下, len(str1) > len(str2).
则输出结果是想得到的结果。