It was already an integer you didnâ€™t convert it when you multiply it by 2.

```
lst_start = lst[0:index] # slice notation
lst_end = lst[index+1:] # slice notation
lst_middle = lst[index]*2 #select an element
```

`lst_star`

and `lst_end`

you are using slice notation here which needs to specify the start and the end and it will return *a new array* with this slice.

**BUT** in `lst_middle = lst[index]`

you have just selected an element from the array, you didnâ€™t use the slice notation. And, thatâ€™s why it just returns the selected element to you with its data type, and because this element was a number, `lst[index]`

returns a number.

=============================

If you want to use slice notation with the `lst_middle`

to return just an array with one element, you can:

```
lst_middle = lst[index:index+1] #returns a list with one element!
# now it's a list with one element [element] to select it use [0]
lst_middle[0] = lst_middle[0] * 2 #double this element
```

now you have a list so, you can return the concentrate directly

```
return lst_start + lst_middle + lst_end
```

========

or you can leave `lst_middle`

as a number and double it then make a list with this element as I mentioned in the first comment

```
# make a list with only one element [lst_middle]
return lst_start + [lst_middle] + lst_end
```

and as @codeneutrino mentioned,

so you canâ€™t use `list(lst_middle)`

. also as he mentioned you can use .apend() to make a new list instead of concatenating lists. choose whatever you want.