[Tutor] String matching in 1.5.2 problem

Daniel Nash dan_nash@hotmail.com
Wed May 7 11:06:01 2003


I have a python 1.5.2 string matching problem.

I have two lists of email addresses:

list1 = ["dan@NO-SPAM.company.com","fred@NO-SPAM.company.com"]

and another list made up from the contents extracted from an email's headers
To:,Cc: & Bcc:

list2 =[('', 'support@NO-SPAM.company.com'), ('jim', 
'jim@NO-SPAM.company.com'), ('',
'fred@NO-SPAM.comapny.com')]

I am trying to write a peice of code that will run in python 1.5.2 to return 
true if any element in list1 appears in list2.

In python2 I had this and it served its purpose:

for X,Y in list2:
    for List1Head in List1:
        if Y.find(List1Head) == -1:
           # if false then do nothing
            print "Is NOT Addressed to: ", List1Head
        else:
            print "Is Addressed to: ", List1Head

But I have to make it run on 1.5.2 and I get the following message:

Traceback (innermost last):
  File "MAILIN.py", line 55, in ?
    if Y.find(List1Head) == -1:
AttributeError: 'string' object has no attribute 'find'

Can anyone tell me how to alter my code to work/improve on my code to only 
return true on an exact match of an email address rather than a sub string 
which allows errors as returning ture for MILE.COM WITHIN SMILE.COM?

_________________________________________________________________
STOP MORE SPAM with the new MSN 8 and get 2 months FREE*  
http://join.msn.com/?page=features/junkmail