[Tutor] List comprehensions

Kent Johnson kent37 at tds.net
Wed Apr 9 22:48:28 CEST 2008


Dinesh B Vadhia wrote:
> Here is a for loop operating on a list of string items:
>  
> data = ["string 1", "string 2", "string 3", "string 4", "string 5", 
> "string 6", "string 7", "string 8", "string 9", "string 10", "string 11"]
>  
> result = ""
> for item in data:
>     result = <some operation on> item
>     print result
>  
> I want to replace the for loop with another structure to improve 
> performance (as the data list will contain >10,000 string items].  At 
> each iteration of the for loop the result is printed (in fact, the 
> result is sent from the server to a browser one result line at a time)

Any savings you have from optimizing this loop will be completely 
swamped by the network time. Why do you think this is a bottleneck?

You could use
[ sys.stdout.write(some operation on item) for item in data ]

but I consider this bad style and I seriously doubt you will see any 
difference in performance.

> The for loop will be called continuously and this is another reason to 
> look for a potentially better structure preferably a built-in.

What do you mean 'called continuously'?

Kent


More information about the Tutor mailing list