dividing tuple elements with an int or float

Jerry Hill malaclypse2 at gmail.com
Thu Mar 20 10:28:38 EDT 2008


On Thu, Mar 20, 2008 at 3:42 AM, Steven D'Aprano
<steve at remove-this-cybersource.com.au> wrote:
> On Wed, 19 Mar 2008 23:06:44 -0700, royG wrote:
>
>
>  > suppose
>  > origsz=(400,300)
>  > i want to divide the origsize by 2.5 so i can resize to (160,120)
>  >
>  > scale=2.5
>  > how can i get the newsz?
>  > obviously origsz/2.5 won't work  ..
>
>  newsz = (origsz[0]/scale, origsz[1]/scale)

That works fine for a 2-tuple, but might get unwieldy for larger
tuples, or if you don't know the length until runtime.  A more general
solution might use a generator expression, like this:

newsz = tuple(x/scale for x in origsz)

-- 
Jerry



More information about the Python-list mailing list