MACSCRPT Archives

November 2006

MACSCRPT@LISTSERV.DARTMOUTH.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Paul Berkowitz <[log in to unmask]>
Reply To:
Macintosh Scripting Systems <[log in to unmask]>
Date:
Sun, 19 Nov 2006 09:34:12 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (46 lines)
On 11/18/06 4:34 PM, "has" <[log in to unmask]> wrote:

> Paul Berkowitz wrote:
> 
>> That gets me the 'difference' items. I'd also like to get the line
>> numbers
>> of those items in the l2 text.
> 
> See <http://docs.python.org/lib/module-sets.html>.
> 
> from sets import Set
> 
> list1 = [1,2,3,4,5,6]
> list2 = [2,4,7]
> 
> set1 = Set(list1)
> set2 = Set(list2)
> 
> unique_to_list1= list(set1 - set2)
> print unique_to_list1
> 
> common_to_both = list(set1 & set2)
> print common_to_both
> 
> unique_to_list1_indexes = [list1.index(val) + 1 for val in
> unique_to_list1]
> print unique_to_list1_indexes
> 
> common_to_both_indexes_for_list2= [list2.index(val) + 1 for val in
> common_to_both]
> print common_to_both_indexes_for_list2
> 
> 
> Bear in mind that if a source list contains multiple identical
> values, only the first one will be considered. Also, remember that
> case is considered when comparing text, so if you need to do case-
> insensitive comparisons you'll need to normalise all the text
> beforehand.

Thanks, has. This is very helpful. And in this particular case I am
searching through unique items, ASCII only (a list of GUIDs, in fact), so no
extra manipulations are needed.

-- 
Paul Berkowitz

ATOM RSS1 RSS2