473,549 Members | 2,390 Online

# Finding the array index number for known content.

Hi Folks,

If I have an array holding a pair of numbers, and that pairing is
unique, is there a way that I can find the array index number for that
pair?

Thanks,

PhilC
Jul 18 '05 #1
4 11721

PhilC <pc****@philc.n et> wrote:
If I have an array holding a pair of numbers, and that pairing is
unique, is there a way that I can find the array index number for that
pair?

If by "array" you mean "Python list", then yes:
lst.index(pair)

If by "array" you mean "array from the array module", then "pair of
numbers" is just two adjacent numbers that are of your 'pair' value,
then you are going to have to do it by hand...

def find_pair(arry, val1, val2):
for i in xrange(len(arry )-1):
if arry[i] == val1 and arry[i+1] == val2:
return i
- Josiah

Jul 18 '05 #2
That was quick :)

Thank you very much indeed.

Regards

Phil

On Fri, 29 Oct 2004 18:47:20 -0700, Josiah Carlson <jc******@uci.e du>
wrote:

PhilC <pc****@philc.n et> wrote:
If I have an array holding a pair of numbers, and that pairing is
unique, is there a way that I can find the array index number for that
pair?

If by "array" you mean "Python list", then yes:
lst.index(pair)

If by "array" you mean "array from the array module", then "pair of
numbers" is just two adjacent numbers that are of your 'pair' value,
then you are going to have to do it by hand...

def find_pair(arry, val1, val2):
for i in xrange(len(arry )-1):
if arry[i] == val1 and arry[i+1] == val2:
return i
- Josiah

Jul 18 '05 #3

Phil> If I have an array holding a pair of numbers, and that pairing is
Phil> unique, is there a way that I can find the array index number for
Phil> that pair?
From the "teach them to fish" department...

Python, being the introspective language that it is, helps you answer these
sorts of questions pretty easily. Your question was in general, "is there a
way to do X with a list?". The first step is to ask a list what it knows

% python
Python 2.4b1 (#52, Oct 17 2004, 13:54:51)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1493)] on darwin
dir([]) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
'__delslice__', '__doc__', '__eq__', '__ge__', '__getattribute __',
'__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__' ,
'__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__',
'__setslice__', '__str__', 'append', 'count', 'extend', 'index',
'insert', 'pop', 'remove', 'reverse', 'sort']

Hmmm... there's an "index" attribute. Let's see what that's all about:
help([].index) Help on built-in function index:

index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of
value

Looks promising (as Josiah already suggested it would be).

List objects are instances of the list type, and there is useful help about
it:
help(list)

Help on class list in module __builtin__:

class list(object)
| list() -> new list
| list(sequence) -> new list initialized from sequence's items
|
| Methods defined here:
|
|
| __contains__(.. .)
| x.__contains__( y) <==> y in x
|
| __delitem__(... )
| x.__delitem__(y ) <==> del x[y]
...

The powers of the help builtin are available via the pydoc command as well,
e.g.:

% pydoc sys
Help on built-in module sys:

NAME
sys

FILE
(built-in)

MODULE DOCS
http://www.python.org/doc/current/lib/module-sys.html

DESCRIPTION
the interpreter and to functions that interact strongly with the
interpreter.
...

% pydoc list
Help on class list in module __builtin__:

class list(object)
| list() -> new list
| list(sequence) -> new list initialized from sequence's items
|
...

Pydoc even supports a web server interface. Try something like:

pydoc -p 8709

then visit

http://localhost:8709/

To find out about builtin types (and builtin objects in general), click the
__builtin__ link. If you want help on a module the help displayed will
likely have a link to the relevant section of the standard documentation as
well.

Now go fish my son. Don't come back until you have caught your limit of
rainbow trout...

Skip
Jul 18 '05 #4
Hi Skip,

This is very much appreciated. I certainly understand the fishing
concept. I'm probably like many others here in that I have no formal
computer training. (I used to be a plumber :) I think I've downloaded
..... and more to the point read .... most of the major help files but
with this last one I was truly stuck.

Now going to go through your and Josiah's answers in greater depth.

Again my sincere thanks to you both.

Phil
Jul 18 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.