Thanks Kent, i am going with option A, the helper set, because i also need to count the occurances and this seems to be the easiest solution.
thanks for your help. shawn On 1/28/07, Kent Johnson <[EMAIL PROTECTED]> wrote:
shawn bright wrote: > lo there all. > > i have a list of lists that i want to build, only if an item is not in > the list already. > > kinda like this > new_list = [] > for item in lists: # item will look something like [var1, var2, var3] > if item[0] in new_list ( only the first element of each list ) like > new_list[0][0] > > basicly, i want to know if item[0] is one of the items[0] in my new_list > > whats a good pythonic way to do this? i mean, i have a couple of way to > do this, but they are ugly. One way to do this is to keep a helper set that contains the first elements of each list. Something like new_list = [] firsts = set() for item in lists: if item[0] not in firsts: new_list.append(item) firsts.add(item[0] If you don't care about the order of the result, and if two lists have duplicate first items you are happy to use the first, then you could use a dict mapping first item to list: new_list = dict((item[0], item) for item in lists).values() Kent
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor