Mark Devine wrote:
Sorry for not putting a subject in the last e-mail. The function lower suited my case exactly. Here however is my main problem: Given that my new list is : [class-map match-all cmap1', 'match ip any', 'class-map match-any cmap2', 'match any', 'policy-map policy1', 'class cmap1', 'policy-map policy2', 'service-policy policy1', 'class cmap2']
Each element in my new list could appear in any order together within another larger list (list1) and I want to count how many matches occur. For example the larger list could have an element 'class-map cmap2 (match any)' and I want to match that but if only 'class-map match-any' or 'class-map cmap2' appears I don't want it to match.
Can anybody help? Is my problem clearly stated?
Well, let's see: you'd like to know which strings occur in both lists, right?
You might like to look at the "Efficient grep using Python?" thread for suggestions. My favorite would be:
.>>> lst1 = ["ab", "ac", "ba", "bb", "bc"] .>>> lst2 = ["ac", "ab", "bd", "cb", "bb"] .>>> dct1 = dict.fromkeys(lst1) .>>> [x for x in lst2 if x not in dct1] ['bd', 'cb'] .>>> [x for x in lst2 if x in dct1] ['ac', 'ab', 'bb']
regards Steve -- Steve Holden http://www.holdenweb.com/ Python Web Programming http://pydish.holdenweb.com/ Holden Web LLC +1 703 861 4237 +1 800 494 3119 -- http://mail.python.org/mailman/listinfo/python-list