Re: iterating over two arrays in parallel?

2008-08-29 Thread Cousin Stanley

> I want to interate over two arrays in parallel, 
> something like this:
>
> a=[1,2,3]
> b=[4,5,6]
>
> for i,j in a,b:
> print i,j
>
> where i,j would be 1,4,2,5,   3,6  etc.
>
> Is this possible?
>
> Many TIA!
> Mark

>>>
>>> list_1 = range( 1 , 4 )
>>> list_2 = range( 4 , 7 )
>>>
>>> list12 = zip( list_1 , list_2 )
>>>
>>> for this in list12 :
... print '   ' , this
...
(1, 4)
(2, 5)
(3, 6)
>>>
>>> for i , j in list12 :
... print '   ' , i , j
...
1 4
2 5
3 6


-- 
Stanley C. Kitching
Human Being
Phoenix, Arizona

--
http://mail.python.org/mailman/listinfo/python-list


Re: iterating over two arrays in parallel?

2008-08-28 Thread Terry Reedy



[EMAIL PROTECTED] wrote:

I want to interate over two arrays in parallel, something like this:

a=[1,2,3]
b=[4,5,6]

for i,j in a,b:
print i,j

where i,j would be 1,4,2,5,   3,6  etc.

Is this possible?


How to fish for yourself:
search 'Python loop two arrays parallel' and second hit with Google is
http://docs.python.org/tut/node7.html
which has this entry
"To loop over two or more sequences at the same time, the entries can be 
paired with the zip() function.


>>> questions = ['name', 'quest', 'favorite color']
>>> answers = ['lancelot', 'the holy grail', 'blue']
>>> for q, a in zip(questions, answers):
... print 'What is your %s?  It is %s.' % (q, a)
... 
What is your name?  It is lancelot.
What is your quest?  It is the holy grail.
What is your favorite color?  It is blue.
"

Or go to the Tutorial directly, expand the chapter headings, and notice 
that 5. Data Structures has section 5.6 Looping Techniques.


Indeed, I recommend that you read thru at least the first 9 chapters.

tjr

--
http://mail.python.org/mailman/listinfo/python-list


Re: iterating over two arrays in parallel?

2008-08-28 Thread Luis Zarrabeitia

Quoting [EMAIL PROTECTED]:

> I want to interate over two arrays in parallel, something like this:
> 
> a=[1,2,3]
> b=[4,5,6]
> 
> for i,j in a,b:
> print i,j
> 
> where i,j would be 1,4,2,5,   3,6  etc.
> 
> Is this possible?

Yeap.

===
for i,j in zip(a,b):
print i,j
===

Or better yet (memory wise at least)

===
from itertools import izip

for i,j in izip(a,b):
print i,j
===

("zip" creates a list with the pairs (i,j), izip returns an iterator over the
pairs "i,j")

> -- 
> Mark Harrison
> Pixar Animation Studios

Are you really from Pixar? Cool

Cheers,

-- 
Luis Zarrabeitia
Facultad de Matemática y Computación, UH
http://profesores.matcom.uh.cu/~kyrie

--
http://mail.python.org/mailman/listinfo/python-list


Re: iterating over two arrays in parallel?

2008-08-28 Thread skip
> "mark" == mh  <[EMAIL PROTECTED]> writes:

mark> I want to interate over two arrays in parallel, something like this:
mark> a=[1,2,3]
mark> b=[4,5,6]

mark> for i,j in a,b:
mark> print i,j

mark> where i,j would be 1,4,2,5,   3,6  etc.

a = [1,2,3]
b = [4,5,6]
for (i,j) in zip(a,b):
  print i, j

To avoid recreating the entire list you can substitute itertools.izip for
zip.

Skip

--
http://mail.python.org/mailman/listinfo/python-list


iterating over two arrays in parallel?

2008-08-28 Thread mh
I want to interate over two arrays in parallel, something like this:

a=[1,2,3]
b=[4,5,6]

for i,j in a,b:
print i,j

where i,j would be 1,4,2,5,   3,6  etc.

Is this possible?

Many TIA!
Mark

-- 
Mark Harrison
Pixar Animation Studios
--
http://mail.python.org/mailman/listinfo/python-list