this forms a list of integers >>> [0]*5 [0, 0, 0, 0, 0]
what I think you want is something like: >>> [[0] for i in range(5)] [[0], [0], [0], [0], [0]] (a list of lists) >>> foo = [[0] for i in range(5)] >>> foo[3].append('bar') >>> foo [[0], [0], [0], [0, 'bar'], [0]] On Wed, Aug 20, 2014 at 3:56 PM, Marc Tompkins <marc.tompk...@gmail.com> wrote: > On Wed, Aug 20, 2014 at 1:38 PM, Terry--gmail <terry.kemme...@gmail.com> > wrote: > > Marc, my understanding is, is that: > > > > lens[col].append(len(item)) > > > > -should be building a mirror image of my list of lists called catalog2, > > which currently has 9 columns by x number of rows, and that we are > plugging > > into these positions, the sizes of all the elements in that block of > data. > > What's important is how you defined lens: > > lens = [0] * len(catalog2[0]) > > That's a list of integers, as far as I can tell without running it > (I'm away from an interpreter at the moment.) So no, you cannot do > lens[col].append(whatever), because - as the error message said - > 'int' object has no attribute 'append'. > > There might be some misunderstanding about what list.append(whatever) > does - it adds "whatever" to the end of list. It does NOT assign > values to elements that already exist; to do that, you need to do > assignment by index. So maybe this is what you're looking for?: > > lens[col] = len(item) > > > > > So, I completely don't understand why we would eliminate the positioning > of > > which list we are referencing in lens by saying: > > > > lens.append(len(item)) > > > > It seems to me that, that statement would put the entire block of element > > sizes into one list, and the next MAX statement would then yield only a > > single number, which would be the largest size element it encounted in > the > > whole of catalog2! > > > > Or am I really missing the boat here? :) > > > lens.append(len(item)) > will append a single integer to lens. I'm afraid I don't quite follow > the bit about "the next MAX statement", as I've lost the thread of > what your larger project is trying to accomplish... In any case, > max() _should_ only return a single number, no? > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor