Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

make array index 1 instead of index 0 based

Tags:

python

How can I make an array start at subscript 1 instead of subscript 0 in python?

Basically to solve this problem in python.

like image 510
jgr208 Avatar asked Jul 30 '12 17:07

jgr208


2 Answers

If you really want to do this, you can create a class that wraps a list, and implement __getitem__ and __setitem__ to be one based. For example:

def __getitem__(self, index):
  return self.list[index-1]

def __setitem__(self, index, value):
  self.list[index-1] = value

However, to get the complete range of flexibility of Python lists, you would have to implement support for slicing, deleting, etc. If you just want a simple view of the list, one item at a time, this should do it for you.'

See Python Documentation for Data Model for more information on creating custom classes that act like sequences or mappings.

like image 192
Max Avatar answered Nov 07 '22 22:11

Max


You can use enumerate() method

a = ['a', 'c', 'v', 's']
for i,v in enumerate(a, 1):
    print i, v

1 a
2 c
3 v
4 s
like image 23
Rakesh Avatar answered Nov 07 '22 22:11

Rakesh