You must create a function, `spread`, that takes a function and a list of arguments to be applied to that function. You must make this function return the result of calling the given function/lambda with the given arguments.

eg:
```python
spread(someFunction, [1, true, "Foo", "bar"] ) 
# is the same as...
someFunction(1, true, "Foo", "bar")
```

Source: codewars | Difficulty: EASY
Tags: Fundamentals

Starter code: def spread(func, args):
	

Solutions:
def spread(func, args):
	return func(*args)


spread = apply


def spread(func, args):
	if args != ():
		return func(*args)
	else:
		return func()


spread = lambda func, args: func(*args)


def spread(func, args):
	return eval('func' + '(' + ','.join((str(a) for a in args)) + ')')


def spread(q, p):
	return q(*p)


def spread(func, *args):
	(x, y, z) = (0, 0, 0)
	if len(args[0]) == 2:
		(x, y) = (args[0][0], args[0][1])
		return func(x, y)
	elif len(args[0]) == 3:
		(x, y, z) = (args[0][0], args[0][1], args[0][2])
		return func(x, y, z)


def spread(func, args):
	if len(args) == 2:
		return func(args[0], args[1])
	elif len(args) == 3:
		return func(args[0], args[1], args[2])