Let us start with defining your list and give it a Python name:

```
sage: L = [1,5,4,5,22,0,0,1]
```

You first have to construct the polynomial ring in which your polynomial will leave (its *parent*):

```
sage: R = PolynomialRing(QQ,'x')
sage: R
Univariate Polynomial Ring in x over Rational Field
```

Then you can construct the polynomial from the list:

```
sage: P = R(L)
sage: P
x^7 + 22*x^4 + 5*x^3 + 4*x^2 + 5*x + 1
```

You can look for its roots:

```
sage: P.roots()
[]
```

As you can see, there is no roots, this is because the polynomial is defined over the rational field `QQ`

.

If you want the real roots as numerical numbers, you can do:

```
sage: P.roots(RDF)
[(-2.7359871581727626, 1),
(-0.44920797825715253, 1),
(-0.25305397624275894, 1)]
```

If you want the real roots as algebraic numbers, you can do:

```
sage: P.roots(AA)
[(-2.735987158172763?, 1),
(-0.4492079782571527?, 1),
(-0.2530539762427587?, 1)]
```

If you do not care about the multiplicities, you can do :

```
sage: P.real_roots()
[-2.73598715817276, -0.449207978257153, -0.253053976242759]
```

**Side remark:** the previous code should work within a Python script (if you do the correct import statements) since i disabled the Sage preparser when preparing the answer:

```
sage: preparser(False)
```

If you get a complain that he name `PolynomialRing`

is not defined, you have to import it at the beginning of your script:

```
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
```

To be able to guess such import statement, you can do, within a Sage session:

```
sage: import_statements(PolynomialRing)
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
```