Hi Hoffmann, On 11/04/06, Hoffmann <[EMAIL PROTECTED]> wrote: > I have a list: list1 = [ 'spam!', 2, ['Ted', 'Rock'] ] > and I wrote the script below: > > i = 0 > while i < len(list1): > print list1[i] > i += 1
Have you read about "for" loops? The pythonic way of looping through a list is to do something like this: for item in list1: print item This will produce the same output as your code above, but is much nicer to read :-) > I also would like to print the length of each element > of that list: > > spam! = 1 element > 2 = 1 element > ['Ted', 'Rock'] = 2 elements The challenge here is that your list contains a mixture of different types. For example, the len() function will tell us that ['Ted', 'Rock'] has two elements. But it would also tell us that 'spam!' has five elements, and it would raise an exception if we tried to find the length of 2. So you will need to ask python about the type of element you're looking at. One possibility that might work for you is this: for item in list1: if isinstance(item, (tuple, list)): print len(item) else: print 1 May I ask why you're doing this? This feels like a situation where you need to think clearly what your goals are before you go diving towards a solution :-) -- John. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor