The * unpacks a list in Python if you put it in front of a list. There are some commands in Maya that expected values to be passed in as multiple arguments, instead of a list of values. So the difference between
someFunction(a, [b, c, d])
and
someFunction(a, b, c, d).
Having to pass in each value by it self could be a pain, especially if you have long lists, like using setAttr, which you could use to set weights. So imagine having to do this for however many verts you have
cmds.setAttr('def.weightList[0].weights', 0.121, 0.2335, 0.23423, 0.1324 [and keep going until you've done all the values])
Instead you could use * to have Python unpack the list for you. So you could do this instead
cmds.setAttr('def.weightList[0].weights', *weights)
Which is exactly what I'm doing with my weight code. Hope that clears it up, if not, let us know 🙂
- Mathias