You are probably going about solving the problem from the wrong direction: Try something like this, overly verbose variable names used on purpose:
regHours = context.getMainPrint(); #let a dictionary do the grouping for us hours_to_libraries_dic = {} for lib in regHours: key = lib.Monday + lib.Tuesday + lib.Wednesday + lib.Thursday + lib.Friday + lib.Saturday + lib.Sunday try: # if the key already exists add to the list of libraries hours_to_libraries_dic[key].append(lib) except KeyError: # if the key does not exists, create a new library list hours_to_libraries_dic[key] = [lib] #print out the timetable for lib_group in hours_to_libraries_dic.values(): print " and ".join([lib.libraryName for lib in lib_group]) a_lib = lib_group[0] print " Monday", a_lib.Monday print " Tuesday", a_lib.Tuesday print " Wednesday", a_lib.Wednesday ....(you get the idea) print " Sunday", a_lib.Sunday print -Chris On 6/9/05, Derek Perriero <[EMAIL PROTECTED]> wrote: > Sorry for not being more clear. I'm using Zope to store the hours of each > library on the campus. The hours of each library will be set on a basis of > Monday - Friday. i.e. Monday for a specific library, let's say Downtown > Campus Library will stored as an attribute of 8am - 9pm, in Zope, and each > day till Friday will be stored as the hours dictate. I'm generating a > print-out based on these hours and info for the general public. The goal of > mine is to group all the libraries under one heading if they have the exact > same hours, to cut back on redundancy when a user looks at it. > So when I say: collect = item.Monday + item.Tuesday + item.Wednesday + > item.Thursday + item.Friday + item.Saturday + item.Sunday, the order is > already this preset configuration. I want 'collect' to be static so it can > compare it against another libraries hours and group it if necessary. The > libraries that fail to be duplicates of other libraries will be generated as > usual under the grouped libraries. They will have a single heading. > > An example can be seen here of what I am trying to achieve: > http://www.libraries.wvu.edu/hours/summer.pdf > These are the outputs I failed to mention last time. > What I want: > ['8am - 9pm8am - 9pm8am - 9pm8am - 9pm8am - 5pm9am - 5pm6pm - 10pm', '8am - > 9pm8am - 9pm8am - 9pm8am - 9pm8am - 5pm9am - 5pmClosed', '9am - 8pm9am - > 8pm9am - 8pm9am - 8pm9am - 8pm9am - 6pm12pm - 6pm', '9am - 5pm9am - 5pm9am - > 5pm9am - 5pm9am - 5pmClosedClosed', '10am - 5pm10am - 5pm10am - 5pm10am - > 5pm10am - 5pm10am - 5pmClosed'] > > What I am getting now: > > ['8am - 9pm8am - 9pm8am - 9pm8am - 9pm8am - 5pm9am - 5pm6pm - 10pm', '8am - > 9pm8am - 9pm8am - 9pmClosed8am - 5pm9am - 5pm6pm - 10pm', '8am - 9pm8am - > 9pm8am - 9pm8am - 9pm8am - 5pm9am - 5pmClosed', '9am - 8pm9am - 8pm9am - > 8pm9am - 8pm9am - 8pm9am - 6pm12pm - 6pm', '9am - 5pm9am - 5pm9am - 5pm9am - > 5pm9am - 5pmClosedClosed', '10am - 5pm10am - 5pm10am - 5pm10am - 5pm10am - > 5pm10am - 5pmClosed'] > > Thanks, > -Derek > > > On 6/9/05, Chris Lambacher <[EMAIL PROTECTED]> wrote: > > It is very unclear what you are trying to do. Why not explain what > > you want the output to be. You will get better answers. > > > > As a first stab at what you are doing wrong: > > collect = item.Monday + item.Tuesday + item.Wednesday + item.Thursday > > + item.Friday + item.Saturday + item.Sunday > > > > The above is string addition and the result is a string. The ouput > > you provide is in fact a list with no duplicates, i.e. there are no > > two strings the same. > > > > If order is not important to you a structure that will give you an > > 'unordered list with no duplicates' is a set (available in the std > > library in Python 2.3 and 2.4, see the cookbook for recipies for > > earlier versions of Python). Note that sets are unordered, i.e. no > > guarentee is made about what order the elements are accessed in when > > you iterate over them. > > > > -Chris > > > > On 6/9/05, Derek Perriero < [EMAIL PROTECTED]> wrote: > > > I've been un-triumphantly trying to get a list of mine to have no > repeats in > > > it. First, I'm pulling attributes from Zope and forming a list. Next, > I'm > > > pulling those same values and comparing them against the same list and > if > > > the values equal each other and are not already in the list, they append > to > > > my 'nodupes' list. My current result is showing what I put in I am > getting > > > out. Below the code is my output of 'nodupes' list. Here's the > snippet. > > > > > > regHours = context.getMainPrint(); <---attributes from Zope > > > > > > libslist = [] > > > nodupes = [] > > > > > > #collect libraries > > > for libs in regHours: > > > cache = libs.Monday + libs.Tuesday + libs.Wednesday + libs.Thursday + > > > libs.Friday + libs.Saturday + libs.Sunday > > > libslist.append (cache) > > > > > > #pull repeated values > > > for item in regHours: > > > collect = item.Monday + item.Tuesday + item.Wednesday + item.Thursday > + > > > item.Friday + item.Saturday + item.Sunday > > > libName = item.libraryName > > > > > > for libs in libslist: > > > if collect == libs and libs not in nodupes: > > > nodupes.append(libs) > > > > > > My Current Output: > > > ['8am - 9pm8am - 9pm8am - 9pm8am - 9pm8am - 5pm9am - 5pm6pm - 10pm', > '8am - > > > 9pm8am - 9pm8am - 9pmClosed8am - 5pm9am - 5pm6pm - 10pm', '8am - 9pm8am > - > > > 9pm8am - 9pm8am - 9pm8am - 5pm9am - 5pmClosed', '9am - 8pm9am - 8pm9am - > > > 8pm9am - 8pm9am - 8pm9am - 6pm12pm - 6pm', '9am - 5pm9am - 5pm9am - > 5pm9am - > > > 5pm9am - 5pmClosedClosed', '10am - 5pm10am - 5pm10am - 5pm10am - 5pm10am > - > > > 5pm10am - 5pmClosed'] > > > > > > Thanks > > > > > > > > > > > > > > > > > > -- > > > Perriero, Derek > > > [EMAIL PROTECTED] > > > > > > -- > > > http://mail.python.org/mailman/listinfo/python-list > > > > > > > > > > > > -- > > Christopher Lambacher > > [EMAIL PROTECTED] > > > > > > -- > Perriero, Derek > [EMAIL PROTECTED] > > -- > http://mail.python.org/mailman/listinfo/python-list > > -- Christopher Lambacher [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list