* splat
Python has a seldom used unary operator that lets you “flatten” lists and dictionaries into function arguments.
def foo(a, b, c):
print a, b ,c
>>> li = [1, 2 ,3]
>>> foo(*li)
1 2 3
The * operator converts a dictionary to keyword arguments:
def foo(bar=None, baz=None, quux=None):
print bar, baz, quux
>>> d = {"bar":1, "baz":2, "quux":3}
>>> foo(**d)
1 2 3
Simple, but useful.
http://docs.python.org/tutorial/controlflow.html#unpacking-argument-lists