def median(mylist):
    """
    Returns the median value of a list
    """
    mylist = list(mylist)
    mylist.sort()
    if len(mylist) == 0:
        raise ArithmeticError(
            'Attempting to compute the median of a zero-length list')
    elif len(mylist) == 1:
        return mylist[0]
    elif divmod(len(mylist), 2)[1] == 1:
        return mylist[(len(mylist) - 1) // 2]
    ndx = len(mylist) // 2
    return (mylist[ndx - 1] + mylist[ndx]) / 2.0
