Evaluate functions in Python
<p>I have to do the following :</p>

<blockquote>
  <p>A function eval_f(f, xs) which takes a function f = f(x) and a list xs of values that should be used as arguments for f. The function eval_f should apply the function f subsequently to every value x in xs, and return a list fs of function values. I.e. for an input argument xs=[x0, x1, x2,..., xn] the function eval_f(f, xs) should return [f(x0), f(x1), f(x2), ..., f(xn)].</p>
</blockquote>

<pre><code>import math


def eval_f(f, xs):

    x = []
    f = f(x)
    for i in range(len(xs)):
        f.append(f(x[i]))
    return f
</code></pre>

<p>eval_f(math.sqrt, [1, 2, 4, 9])
Traceback (most recent call last):</p>

<p>File "", line 1, in 
    eval_f(math.sqrt, [1, 2, 4, 9])</p>

<p>File "C:/Users/Idoia/untitled2.py", line 6, in eval_f
    f = f(x)</p>

<p>TypeError: a float is required</p>