def interval_intersection(a, b):
    """计算两个区间的交集区间, 默认只处理闭区间
    Args:
        a: 区间1, 类型: list 比如: [3.5, 6.2]
        b: 区间2, 类型: list 比如: [5.8, 7.1]
    Returns:
        返回交集区间元组, 比如上面示例将返回: (5.8, 6.2)
        如果交集不存在, 返回None
        注意: 如果两区间的交集恰好为一个点, 则返回元组的两个元素相等
    """
    if b[0] <= a[1] and a[0] <= b[1]:
        left_number = max(a[0], b[0])
        right_number = min(a[1], b[1])
        return left_number, right_number
    return None