Array of 2^n

Chris Barker chrishbarker at
Mon Oct 22 19:48:56 CEST 2001

Moshe wrote:
> Okay, python newbie here. I'm liking what I see, but it seems like there
> are holes in the features of python's objects. I remember programming in
> squeak (an extension of smalltalk), and you could do complex operations on
> lists, and it would apply the result to each item. I want to make a n-item
> list such that mylist[i] = 2**i. How can I generate such a list in Python?

IF you really want a list, you have been given a number of options. If,
however, you are doing this a lot, with large sequences of numbers, you
are probably doing other math operations as well, and you want a nice
fast way to do operations on sequences of numbers that has a clean
sequence. For this you want the Numeric module:

Then you can do:

from Numeric import *

myArray = 2**arange(i)

You can also do all kinds fo nifty element-wise math with all the basic
operators and math functions. Here is a quick example for the root mean
square values of a rank-1 array:


Numeric has many other nifty features as well. If you are working with
numbers, it is a wonderful tool.


Christopher Barker,
ChrisHBarker at                 ---           ---           --- ---@@       -----@@       -----@@
                                   ------@@@     ------@@@     ------@@@
Oil Spill Modeling                ------   @    ------   @   ------   @
Water Resources Engineering       -------      ---------     --------    
Coastal and Fluvial Hydrodynamics --------------------------------------

More information about the Python-list mailing list