# How can I store a result in a Matrix?

Steven Bethard steven.bethard at gmail.com
Fri Nov 19 21:30:58 CET 2004

```Ben Champion wrote:
> I am new to Python so please excuse me if this sounds simple! Before I
> explain what i want to do let me write some code in matlab which
> demonstrates what I would like to acheive, using the Fibonnachi series
> as an example:
[snip matlab code]
>
> This gives me the variable y with values
> 2    3    5     8    13    21    34    55    89   144

If you really want to be dealing with matrices, you should probably
http://www.stsci.edu/resources/software_hardware/numarray

If a list is sufficient, I would write this something like:

>>> def fib():
... 	a, b = 1, 1
... 	while True:
... 		yield a
... 		a, b = b, a + b
...
>>> import itertools as it
>>> list(it.islice(fib(), 2, 12))
[2, 3, 5, 8, 13, 21, 34, 55, 89, 144]

The fib function is a generator that will yield, one at a time, each
value in the fibonacci sequence.  Since you only wanted values 2 through
11 in your example, I use itertools.islice to select the appropriate
part of the generated sequence.

Note also that because Python has tuple unpacking, you can do multiple
simulaneous assignment, so there's no need to have that extra temp
variable 'z'.

Steve

```