(forwarding to list) On Sat, 2006-09-16 at 10:31 -0500, Brian Edward wrote: > Thanks for the quick reply! I really appreciate your assistance. Of > course, it will take some time to get this worked out, but your > explanation is very clear. > > Best, > Brian > > > On 9/16/06, Python <[EMAIL PROTECTED]> wrote: > On Sat, 2006-09-16 at 09:44 -0500, Brian Edward wrote: > > Hello all, > > > > I am new to Python (and programming in general) and am > trying to get > > PyGoogle figured out for some specific research > interests. Basically, > > I have done a simple search using PyGoogle and have some > sitting in > > memory. I have an object data.results, which is apparently > a list: > > > > >>> type(data.results) > > <type 'list'> > > > > In this list, I have ten URL saved, which I can access by > using the > > brackets and noting the specific elements. For example: > > > > >>> data.results[0].URL > > 'http://www.psychguides.com/gl- > treatment_of_schizophrenia_1999.html' > > > > >>> data.results [1].URL > > 'http://www.psychguides.com/sche.pdf' > > > > My question is, how can I access all ten URLs in a single > command. > > Specifically, why does the following statement not work: > > > > >>> data.results[0:10].URL > You need to extract the URL from each item in the result list. > Something like: > > urls = [r.URL for r in data.results] > > will extract a list of urls from your list of results. > > > > Traceback (most recent call last): > > File "<pyshell#78>", line 1, in -toplevel- > > data.results[0:10].URL > > AttributeError: 'list' object has no attribute 'URL' > > > > > > Again, I am new to Python, so a watered-down, conceptual > response to > > this would be greatly appreciated. Thanks in advance. > > data.results[0:10] simply copies the first 10 results from > your original > list into a new list. The new list does not have a URL > attribute, as > the error message tells us. The URL attribute belongs to the > individual > items in the list. > > You need to process each result in data.results to extract the > URL. > Your choices boil down to: > for statement > or the more functionally oriented > map > list comprehension > generator expression (python 2.4 or later) > > For creating a new list from an existing list, a list > comprehension is > usually the best bet. The for statement approach would look > something > like: > urls = [] > for r in data.results: > urls.append(r.URL) > > list comprehensions provide a simpler, more direct syntax. > > > > > > > Brian > > > > > > > > > > _______________________________________________ > > Tutor maillist - Tutor@python.org > > http://mail.python.org/mailman/listinfo/tutor > -- > Lloyd Kvam > Venix Corp > > -- Lloyd Kvam Venix Corp
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor