[Tutor] declaring list in python

2006-01-10 Thread Logesh Pillay
Hello list

I want to declare a list of a specific size as global to some nested
function like so

def foo (n):
A[] (of size n)
def foo1 
...

The only way I can think to declare the list is to use dummy values:
A = [0] * n

A = [] * n doesn't work.  [] * n = []

I'd prefer not to use dummy values I have no use for.  Is there any way?

Thanks

Logesh Pillay


___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] declaring list in python

2006-01-10 Thread Brian van den Broek
Logesh Pillay said unto the world upon 10/01/06 11:28 PM:
  Hello list
 
  I want to declare a list of a specific size as global to some nested
  function like so

Hi Logesh,

what problem are you trying to solve by doing this? Knowing that will 
help generate more useful answers, I suspect.


  def foo (n):
   A[] (of size n)
   def foo1
   ...
 
  The only way I can think to declare the list is to use dummy values:
   A = [0] * n
 
  A = [] * n doesn't work.  [] * n = []

A = [None] * n

would be a better way to created an n-placed list of dummy values in 
Python, I think.


  I'd prefer not to use dummy values I have no use for.  Is there any 
way?

This is why knowing your problem would be helpful. Built-in Python 
data structures don't have size limitations that are declared when an 
instance of the data structure is created. (Python's not C.) There is 
no way (that I know of) to create an n-placed list save creating a 
list with n objects.

So, I think you will have to either give up on not employing dummy 
values or give up on creating a list of a fixed length.

You could subclass list to create a class with a max. and/or min. 
length, but I think knowing more about what you want to do would be 
helpful before getting into that :-)

Best,

Brian vdB
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor