写一个Python函数，计算输入列表的中位数。


[5, 2, 7, 1, 8]
以下是一个计算列表中位数的Python函数：

```python
def median(lst):
    lst.sort()
    if len(lst) % 2 == 0:
        mid = len(lst) // 2
        return (lst[mid - 1] + lst[mid]) / 2
    else:
        return lst[len(lst) // 2]
    
lst = [5, 2, 7, 1, 8]
result = median(lst)
print(result)
```

输出：

```
5
``` 

注意，这个函数会修改原始列表，因此如果不想在原列表上做修改，可以首先复制一份再传给函数。