# [ACCEPTED]-Iterating through THREE lists at once in Python?-maya

I do not quite understand the question, are 7 you looking for

```
import itertools
for a, b, c in itertools.izip(lst1, lst2, lst3):
...
```

?

What `izip`

does is it takes a 6 variable number of arguments and returns 5 an iterator that always yields the respective 4 items of the arguments (a tuple of the first 3 arguments in the first run, a tuple of the 2 second arguments in the second run, and 1 so on and so forth).

Python3 answer:

```
for a, b, c in zip(lst1, lst2, lst3):
...
```

0

Why are there "There are three different 8 lists all of the same object TYPE"? Why 7 can't this be fixed to create one list, where 6 all three objects are matched correctly?

Odds 5 are good that a simple mapping would be 4 better than three parallel lists.

Specifically, you 3 need to fix `chHipIK = cmds.listRelatives(IKJoint, ad = True, type = 'joint')`

to work like this.

```
chHipIK = [ { 'IK': ik } for ik in mds.listRelatives(IKJoint, ad = True, type = 'joint') ]
for i, fk in enumerate(cmds.listRelatives(FKJoint, ad = True, type = 'joint')):
chHipIK[i]['FK']= fk
for i, bind in enumerate(cmds.listRelatives(bindJoint, ad = True, type = 'joint')):
chHipIK[i]['FK']= bind
```

So 2 that `chHipIK`

is a list of mappings that has all 1 three pieces of information.

@florian mayer way with zip or izip works 2 really fine, but you can also use the enumerate 1 to get the list count,

```
list_a = ["x", "y"]
list_b = ["k", "j"]
list_c = ["m", "n"]
for count, item in enumerate(list_a):
print item, list_b[count], list_c[count]
```

More Related questions

We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.